from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range ) import pandas as pd import random from . import widgets as school_choice_widgets author = 'Andrés Felipe Barinas' doc = """ Your app description """ class Constants(BaseConstants): name_in_url = 'DejusticiaExp' players_per_group = None tasks = ['A', 'B','C'] num_rounds = len(tasks) class Subsession(BaseSubsession): def creating_session(self): if self.round_number == 1: for p in self.get_players(): round_numbers = list(range(1, Constants.num_rounds+1)) random.shuffle(round_numbers) p.participant.vars['task_rounds'] = dict(zip(Constants.tasks, round_numbers)) class Group(BaseGroup): pass class Player(BasePlayer): day = models.IntegerField(min=1, max=31) month = models.IntegerField(min=1, max=12) year = models.IntegerField(max=2020, min=2020, default=2020) name = models.StringField() signature = models.StringField() phone = models.StringField() email= models.StringField() #Situación 1 S1G1P1 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S1G1P2 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S1G1P3 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S1G1P4 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S1G2P1 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S1G2P2 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S1G2P3 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S1G2P4 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S1G3P1 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S1G3P2 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S1G3P3 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S1G3P4 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S1G4P1 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S1G4P2 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S1G4P3 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S1G4P4 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S1G5P1 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S1G5P2 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S1G5P3 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S1G5P4 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) # Situación 2 S2G1P1 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S2G1P2 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S2G1P3 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S2G1P4 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S2G2P1 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S2G2P2 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S2G2P3 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S2G2P4 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S2G3P1 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S2G3P2 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S2G3P3 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S2G3P4 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S2G4P1 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S2G4P2 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S2G4P3 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S2G4P4 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S2G5P1 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S2G5P2 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S2G5P3 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S2G5P4 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) # Situación 3 S3G1P1 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S3G1P2 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S3G1P3 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S3G1P4 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S3G2P1 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S3G2P2 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S3G2P3 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S3G2P4 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S3G3P1 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S3G3P2 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S3G3P3 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S3G3P4 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S3G4P1 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S3G4P2 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S3G4P3 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S3G4P4 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S3G5P1 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S3G5P2 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S3G5P3 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) S3G5P4 = models.IntegerField(choices=[[1, "Tarjeta A"], [2, "Tarjeta B"], [3, "Tarjeta C"], [4, "Tarjeta D"]]) edad=models.IntegerField(label="") genero=models.IntegerField(choices=[[0,"Masculino"],[1,"Femenino"],[2,"Otro"]], widget=widgets.RadioSelect) ingresos=models.IntegerField(label="") carrera=models.StringField(label="") estudiante=models.IntegerField(choices=[ [0,"Pregrado"], [1,"Posgrado"], ], widget=widgets.RadioSelect ) semestre = models.IntegerField(label="") ocup_madre = models.StringField() ocup_padre = models.StringField() household_fin=models.IntegerField( choices=[[5, "Tenemos suficiente dinero para comprar un carro o una casa, además de ahorrar"], [4, "Tenemos suficiente dinero para comprar electrodomésticos e irnos de vacaciones, además de ahorrar"], [3, "Tenemos suficiente dinero para comprar comida y distintas necesidades, además de ahorrar"], [2, "Tenemos suficiente dinero para comprar comida y distintas necesidades pero no nos alcanza para ahorrar"], [1, "No nos alcanza para satisfacer algunas necesidades pero podemos manejar la situación económica sin necesidad de pedir prestado"], [0, "No nos alcanza para satisfacer algunas necesidades y nos vemos forzados a pedir prestado"] ], widget=widgets.RadioSelect, ) afirmacion1 = models.IntegerField( choices=[[1, "Totalmente en desacuerdo"], [2, "En desacuerdo"], [3, "De acuerdo"], [4, "Totalmente de acuerdo"], ], widget=widgets.RadioSelectHorizontal) afirmacion2 = models.IntegerField( choices=[[1, "Totalmente en desacuerdo"], [2, "En desacuerdo"], [3, "De acuerdo"], [4, "Totalmente de acuerdo"], ], widget=widgets.RadioSelectHorizontal) afirmacion3 = models.IntegerField( choices=[[1, "Totalmente en desacuerdo"], [2, "En desacuerdo"], [3, "De acuerdo"], [4, "Totalmente de acuerdo"], ], widget=widgets.RadioSelectHorizontal) q15 = models.IntegerField( choices=[[0, "1"], [1, "2"], [2, "3"], [3, "4"], [4, "5"], [5, "6"], [6, "No sabe/No Responde"]], widget=widgets.RadioSelect) q16 = models.LongStringField(label="") q17 = models.LongStringField(label="")