from otree.api import * class Constants(BaseConstants): name_in_url = 'survey' players_per_group = None num_rounds = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): age = models.IntegerField(label='What is your age?', min=13, max=125) gender = models.StringField( choices=[['Male', 'Male'], ['Female', 'Female']], label='What is your gender?', widget=widgets.RadioSelect, ) race = models.StringField( choices=[['Indigenous American or Alaska Native', 'Indigenous American or Alaska Native'], ['Asian or Pacific Islander', 'Asian or Pacific Islander'], ['Black or African American', 'Black or African American'], ['White or Caucasian', 'White or Caucasian'], ['Hispanic or Latino', 'Hispanic or Latino'], ['Multiracial or Biracial', 'Multiracial or Biracial'], ['Other']], label='Choose the race/ethnicity that best describes you.', widget=widgets.RadioSelect, ) socioecon_status = models.StringField( choices=[['Low income', 'Low income'], ['Middle income', 'Middle income'], ['High income', 'High income']], label='Choose the socioeconomic range that best describes you.', widget=widgets.RadioSelect, ) math_classes = models.IntegerField( choices=[ [1, '1'], [2, '2'], [3, '3'], [4, '4'], [5, '5+'] ], label='How many math classes have you taken in college?' ) econ_classes = models.IntegerField( choices=[ [1, '1'], [2, '2'], [3, '3'], [4, '4'], [5, '5+'] ], label='How many economics classes have you taken in college?' ) crt_bat = models.IntegerField( label=''' A bat and a ball cost 22 dollars in total. The bat costs 20 dollars more than the ball. How many dollars does the ball cost?''' ) crt_widget = models.IntegerField( label=''' "If it takes 5 machines 5 minutes to make 5 widgets, how many minutes would it take 100 machines to make 100 widgets?" ''' ) crt_lake = models.IntegerField( label=''' In a lake, there is a patch of lily pads. Every day, the patch doubles in size. If it takes 48 days for the patch to cover the entire lake, how many days would it take for the patch to cover half of the lake? ''' ) # FUNCTIONS # PAGES class Demographics(Page): form_model = 'player' form_fields = ['age', 'gender', 'race', 'socioecon_status', 'econ_classes', 'math_classes'] class CognitiveReflectionTest(Page): form_model = 'player' form_fields = ['crt_bat', 'crt_widget', 'crt_lake'] page_sequence = [Demographics, CognitiveReflectionTest]