from otree.api import * doc = """ Your app description """ class C(BaseConstants): NAME_IN_URL = 'Questionnaire' PLAYERS_PER_GROUP = None NUM_ROUNDS = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): timelimit = models.BooleanField() q_gender = models.CharField(initial=None, choices=['男性', '女性', '回答しない'], verbose_name='あなたの性別を教えてください.', widget=widgets.RadioSelect()) q_age = models.IntegerField(initial=None, verbose_name='あなたの年齢を教えてください.', choices = [ [i, str(i)] for i in range(18, 65)] +[[65, '回答しない']]) q_department = models.CharField(initial=None, choices=['法学部','産業社会学部','国際関係学部','文学部','映像学部','経済学部','スポーツ健康科学部','食マネジメント学部','理工学部','情報理工学部','生命科学部','薬学部','経営学部','政策科学部','総合心理学部','グローバル教養学部','その他','回答しない'], verbose_name='あなたの所属学部を教えてください.' ) q_sentaku = models.CharField(initial=None, choices=['1', '2', '3', '4', '5','回答しない'], verbose_name='あなたは足を運んで商品を選ぶ際に考えて選択していますか?「考えて選択する」場合を1、「直感で選択する」場合を5として、あなたは1から5のうち、どれくらいですか?') q_tuuhan = models.CharField(initial=None, choices=['1', '2', '3', '4', '5','回答しない'], verbose_name='あなたはネットで商品を選ぶ際に考えて選択していますか?「考えて選択する」場合を1、「直感で選択する」場合を5として、あなたは1から5のうち、どれくらいですか?') q_syuucyuu = models.CharField(initial=None, choices=['1', '2', '3', '4', '5','回答しない'], verbose_name='あなたは集中力が長く続く方ですか?「続く」と考える場合を1、「続かない」と考える場合を5として、あなたは1から5のうち、どれくらいですか?') q_tanncyou = models.CharField(initial=None, choices=[ '1', '2', '3', '4', '5','回答しない'], verbose_name='あなたは単調な作業は好きですか?「好き」だと考える場合を1、「嫌い」だと考える場合を5として、あなたは1から5のうち、どれくらいですか?') q_otori = models.CharField(initial=None, choices=['1.知っている ','2.名前だけ聞いたことがある','3. 知らない','回答しない'], verbose_name='あなたはおとり効果を知っていますか?あてはまる選択肢を回答してください。') q_otorii = models.CharField(initial=None, choices=['1.ある対象物を評価する際、目立つ特徴に引きずられるように、他の特徴についての評価までが歪められること ','2. 複数の選択肢の中に、他の一つの選択肢よりも劣る選択肢を混ぜると意思決定に影響がでること','3. 知らない','回答しない'], verbose_name='おとり効果の正しい説明を説明を選んでください。知らない場合は知らないを選んでください。') q_nitaku = models.CharField(initial=None, choices=['1. 気づいた','2. 気づかなかった','回答しない'], verbose_name='あなたは同じ選択肢が含まれた二択と三択の質問があったことに気づきましたか?') q_nagasa = models.CharField(initial=None, choices=[ '1', '2', '3', '4', '5','回答しない'], verbose_name='時間制限の長さは妥当でしたか?「長かった」と感じた場合は1、「短かった」と感じた場合は5として、あなたは1から5のうちどれくらいですか?') q_yomi = models.CharField(initial=None, choices=['1', '2', '3', '4', '5','回答しない'], verbose_name='あなたは二択の質問の時、全文読み切れましたか?「読み切れた」と感じた場合は1、「読み切れなかった」と感じた場合は5として、あなたは1から5のうちどれくらいですか?') q_yomii = models.CharField(initial=None, choices=['1', '2', '3', '4', '5','回答しない'], verbose_name='あなたは三択の質問の時、全文読み切れましたか?「読み切れた」と感じた場合は1、「読み切れなかった」と感じた場合は5として、あなたは1から5のうちどれくらいですか?') q_aseri = models.CharField(initial=None, choices=['1', '2', '3', '4', '5','回答しない'], verbose_name='時間制限により焦りましたか?「焦った」と感じた場合は1、「焦らなかった」と感じた場合は5として、あなたは1から5のうちどれくらいですか?') q_hanndann = models.TextField(initial=None, verbose_name='あなたはこだわって選ぶ商品のジャンルはありますか?ある場合は、お書き下さい。無い場合は「特になし」と記入してください。', max_length=400) q_setumei = models.CharField(initial=None, choices=['1. できた','2. できなかった','回答しない'], verbose_name='説明文を理解できましたか?') q_advice = models.TextField(initial=None, verbose_name='この実験に。無い場合は「特になし」と記入してください。', max_length=400) risk = models.CharField(initial=None, choices=['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10','回答しない'], verbose_name='あなたは自分のことを、リスクを取る方だと思いますか?それとも、リスクを避ける方だと思いますか?自分のことを「積極的にリスクを取る方」だと考える場合を10、「リスクを一切取らない方」だと考える場合を0として、あなたは0から10のうち、どれくらいですか?') #Function def creating_session(subsession: Subsession): for p in subsession.get_players(): if p.id_in_subsession % 2 == 0: p.timelimit = 0 else: p.timelimit = 1 # PAGES class Annketo(Page): form_model = 'player' form_fields = [ 'q_gender', 'q_age', 'q_department', 'q_sentaku', 'q_tuuhan', 'q_syuucyuu', 'q_tanncyou', ] class Annketo2(Page): form_model = 'player' form_fields = [ 'q_nagasa', 'q_aseri', 'q_yomi', 'q_yomii', ] @staticmethod def is_displayed(player: Player): return player.timelimit == 1 class Annketo3(Page): form_model = 'player' form_fields = [ 'q_otori', 'q_otorii', 'q_nitaku', 'q_hanndann', 'q_setumei', 'q_advice', ] class End(Page): pass page_sequence = [Annketo,Annketo2,Annketo3,End, ]