from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range ) doc = '' class Constants(BaseConstants): name_in_url = 'risk_aversion' players_per_group = None num_rounds = 1 class Subsession(BaseSubsession): def my_method(self): pass class Group(BaseGroup): pass class Player(BasePlayer): risk_level = models.IntegerField(label='Rate your level of risk aversion from 1 to 10. ', max=10, min=1) risk_category = models.StringField() treatment_group = models.StringField() def my_method(self): for p in self.get_players(): if self.risk_level < 4: p.risk_category = "risk loving" elif self.risk_level == 5: p.risk_category = "risk neutral" else: p.risk_category = "risk averse" def my_method2(self): import itertools treatment_groups = itertools.cycle(['T', 'C']) for p in self.get_players(): if self.risk_category == "risk loving": p.treatment_group = next(treatment_groups)