from otree.api import * doc = """ summary """ class C(BaseConstants): NAME_IN_URL = 'summary' PLAYERS_PER_GROUP = None NUM_ROUNDS = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): pass # PAGES class SummaryPage(Page): @staticmethod def vars_for_template(player: Player): outcomes = player.participant.vars['outcomes'] predictions_correct = 0 for outcome in outcomes: if outcome == "correct": predictions_correct = predictions_correct + 1 p1_correct = outcomes[0] p2_correct = outcomes[1] p3_correct = outcomes[2] p4_correct = outcomes[3] p5_correct = outcomes[4] p6_correct = outcomes[5] p7_correct = outcomes[6] p8_correct = outcomes[7] p9_correct = outcomes[8] p10_correct = outcomes[9] p11_correct = outcomes[10] p12_correct = outcomes[11] p13_correct = outcomes[12] p14_correct = outcomes[13] p15_correct = outcomes[14] p16_correct = outcomes[15] p17_correct = outcomes[16] p18_correct = outcomes[17] p19_correct = outcomes[18] p20_correct = outcomes[19] predictions_payoff = round(float(predictions_correct*0.06), 2) euro_payoff = round(float(0.80 + predictions_correct*0.06), 2) return dict( predictions_payoff=predictions_payoff, predictions_correct=predictions_correct, p1_correct=p1_correct, p2_correct=p2_correct, p3_correct=p3_correct, p4_correct=p4_correct, p5_correct=p5_correct, p6_correct=p6_correct, p7_correct=p7_correct, p8_correct=p8_correct, p9_correct=p9_correct, p10_correct=p10_correct, p11_correct=p11_correct, p12_correct=p12_correct, p13_correct=p13_correct, p14_correct=p14_correct, p15_correct=p15_correct, p16_correct=p16_correct, p17_correct=p17_correct, p18_correct=p18_correct, p19_correct=p19_correct, p20_correct=p20_correct, euro_payoff=euro_payoff, ) page_sequence = [SummaryPage]