from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, ) doc = """ This application provides a webpage instructing participants how to get paid. Examples are given for the lab and Amazon Mechanical Turk (AMT). """ class Constants(BaseConstants): name_in_url = 'secondsurvey' players_per_group = None tasks = ['ActionCity1','ActionCity2','ActionCity3','ActionCity4','ActionCity5','ActionCity6','ActionCity7','ActionCity8','ActionCity9','ActionCity10' ] num_rounds = len(tasks) class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): pass def creating_session(subsession: Subsession): if subsession.round_number == 1: for p in subsession.get_players(): round_numbers = list(range(1, C.NUM_ROUNDS + 1)) random.shuffle(round_numbers) task_rounds = dict(zip(C.TASKS, round_numbers)) # print('player', p.id_in_subsession) # print('task_rounds is', task_rounds) p.participant.task_rounds = task_rounds