import random '''list of dicts that contains the characteristics of a treatment''' '''defines treatment variables''' ''' ADD CONSTANTS OR CONTROL PARAMS ''' '''creation of the treatments''' # TODO: refactor and comment code. lender_players = [] borrower_players = [] control_doc = open('controls.txt', 'r') control_list = [] treatments = open('treatments.txt', 'r') parameters = {} param_list = [] randomized_treatments = [] for sub_treatment in treatments: if 'treatment' in sub_treatment: temp = sub_treatment.split('=') temp[1] = temp[1].split(',') param_list.append(temp) if temp[0] == 'treatment3': parameters[temp[0]] = temp[1] class Treatment: def __init__(self): self.treatment = {'contract_enforcement': None, 'recovery_fee': None, 'num_rounds': None, 'initial_points ': None, 'productivity': None, 'players_per_group': None, 'rate_of_return': None, 'quiz_timeout':None, 'game_timeout':None, 'survey_timeout':None, 'instructions_payoff': None, 'survey_payoff': None, 'confirmation_timeout':None, 'matching_timeout':None} def get(self): return self.treatment def change(self, key, mod): self.treatment[key] = mod for control in control_doc: if '=' in control: control_list.append(control[:-1].split('=')) for key in parameters.keys(): treatment = Treatment() for var in control_list: treatment.change(var[0], var[1]) treatment.change('contract_enforcement', parameters[key][0]) treatment.change('recovery_fee', int(parameters[key][1])) parameters[key] = treatment.get()