from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, ) import random class Constants(BaseConstants): name_in_url = "survey" players_per_group = None num_rounds = 1 new_template = "survey_stockexp/new.html" new_1_template = "survey_stockexp/new_1.html" class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): eta = models.IntegerField(label="Quanti anni hai?", max=99, min=15) sesso = models.StringField( choices=[["Maschio", "Maschio"], ["Femmina ", "Femmina "], ["Altro", "Altro"]], label="Qual è il tuo sesso?", widget=widgets.RadioSelectHorizontal, ) anni_studio = models.IntegerField(label="Da quanti anni studi all'università?") studente = models.StringField( blank=False, choices=[ ["Studente", "Studente"], ["Studente Lavoratore", "Studente Lavoratore"], ["Altro", "Altro"], ], label="Seleziona l'opzione che ti riguarda", widget=widgets.RadioSelectHorizontal, ) corso_studio = models.StringField( choices=[ ["Agraria", "Agraria"], ["Biologia", "Biologia"], ["Chimica", "Chimica"], ["Economia", "Economia"], ["Farmacia", "Farmacia"], ["Filosofia", "Filosofia"], ["Fisica", "Fisica"], ["Giurisprudenza", "Giurisprudenza"], ["Informatica", "Informatica"], ["Ingegneria", "Ingegneria"], ["Matematica", "Matematica"], ["Medicina", "Medicina"], ["Lingue", "Lingue"], ["Altro", "Altro"], ], label="Quale è il tuo corso di studi?", widget=widgets.RadioSelectHorizontal, ) Tec1 = models.IntegerField( choices=[[1, ""], [2, ""], [3, ""], [4, ""]], label="In genere considero come le cose potrebbero essere in futuro e cerco con il mio comportamento quotidiano di influenzarle.", widget=widgets.RadioSelectHorizontal, ) Tec2 = models.IntegerField( choices=[[1, ""], [2, ""], [3, ""], [4, ""]], label="Molto spesso mi impegno in comportamenti orientati ad ottenere dei risultati anche a distanza di molti anni", widget=widgets.RadioSelectHorizontal, ) Tec3 = models.IntegerField( choices=[[1, ""], [2, ""], [3, ""], [4, ""]], label="Agisco esclusivamente per soddisfare esigenze immediate, immaginando che il futuro si risolverà da sè." ".", widget=widgets.RadioSelectHorizontal, ) Tec4 = models.IntegerField( choices=[[1, ""], [2, ""], [3, ""], [4, ""]], label="Il mio comportamento è guidato solamente da quei risultati che si possono ottenere nell'immediato", widget=widgets.RadioSelectHorizontal, ) Tec5 = models.IntegerField( choices=[[1, ""], [2, ""], [3, ""], [4, ""]], label="La mia convenienza personale è un importante fattore nelle mie decisioni e azioni", widget=widgets.RadioSelectHorizontal, ) Tec6 = models.IntegerField( choices=[[1, ""], [2, ""], [3, ""], [4, ""]], label="Sono disposto/a a sacrificare la mia felicità e benessere immediati per raggiungere traguardi futuri.", widget=widgets.RadioSelectHorizontal, ) Tec7 = models.IntegerField( choices=[[1, ""], [2, ""], [3, ""], [4, ""]], label=" Penso che sia importante tenere seriamente in conto degli avvertimenti relativi a risultati negativi, anche se questi si manifesteranno nei prossimi anni.", widget=widgets.RadioSelectHorizontal, ) Tec8 = models.IntegerField( choices=[[1, ""], [2, ""], [3, ""], [4, ""]], label="Penso che sia più importante tenere un comportamento che abbia conseguenze future importanti piuttosto che uno con conseguenze meno importatni ma immediate", widget=widgets.RadioSelectHorizontal, ) Tec9 = models.IntegerField( choices=[[1, ""], [2, ""], [3, ""], [4, ""]], label="Generalmente ignoro i segnali relativi ai risultati negativi nel futuro perché penso che i problemi si risolveranno prima che venga raggiunto un livello di crisi.", widget=widgets.RadioSelectHorizontal, ) Tec10 = models.IntegerField( choices=[[1, ""], [2, ""], [3, ""], [4, ""]], label="Penso che sacrificare il presente sia generalmente inutile in quanto il futuro potrà essere affrontato al momento opportuno", widget=widgets.RadioSelectHorizontal, ) Tec11 = models.IntegerField( choices=[[1, ""], [2, ""], [3, ""], [4, ""]], label="Agisco esclusivamente per soddisfare le esigenze immediate, mi occuperò poi dei problemi futuri quando si concretizzeranno", widget=widgets.RadioSelectHorizontal, ) Tec12 = models.IntegerField( choices=[[1, ""], [2, ""], [3, ""], [4, ""]], label="Il mio comortamento quotidiano è più importante di quello futuro in quanto ha delle conseguenze immediate", widget=widgets.RadioSelectHorizontal, ) Fin1 = models.IntegerField( choices=[[1, "più di oggi"], [2, "lo stesso ammontare"], [3, "meno di oggi"], [4, "non so"]], label="Immagina di ricevere in regalo 100 Euro. Immagina inoltre di dover attendere 1 anno prima di poter incassare la somma e che l'inflazione sia all'1%. Rispetto ad oggi tra un anno potrai acquistare:", widget=widgets.RadioSelectHorizontal, ) Fin2 = models.IntegerField( label="Immagina di mettere 100 Euro in un conto di risparmio, senza costi aggiuntivi che garantisce il 2% di interessi all'anno. Immagina inoltre di non effettuare alcun prelievo o versamento da questo conto. Quanto avrai a disposizione in totale tra un anno?", min=0, max=150 ) Fin3 = models.IntegerField( choices=[[1, "più di 110"], [2, "esattamente 110"], [3, "meno di 110"], [4, "non so"]], label="In relazione ancora allo stesso conto di risparmio, immagina sempre di non effettuare pagamenti o ritiri dal conto e non ci sono tasse. Quanto avrai a disposizione tra 5 anni? ", widget=widgets.RadioSelectHorizontal, ) con1 = models.IntegerField( choices=[[1, ""], [2, ""], [3, ""], [4, ""]], label="Generalmente preferisco essere un leader piuttosto che un follower", widget=widgets.RadioSelectHorizontal, ) con2 = models.IntegerField( choices=[[1, ""], [2, ""], [3, ""], [4, ""]], label="Ci sono molte situazioni nelle quali preferirei avere una sola scelta a disposizione quando devo prendere una decisione", widget=widgets.RadioSelectHorizontal, ) con3 = models.IntegerField( choices=[[1, ""], [2, ""], [3, ""], [4, ""]], label="Cerco di evitare le situazioni in cui sono gli altri a dirmi cosa devo fare", widget=widgets.RadioSelectHorizontal, ) con4 = models.IntegerField( choices=[[1, ""], [2, ""], [3, ""], [4, ""]], label="In genere, nella vita, sono una persona che tende ad evitare di assumere dei rischi", widget=widgets.RadioSelectHorizontal, ) ninfee = models.IntegerField(label="Sul lago c'è una chiazza di ninfee. Ogni giorno la chiazza raddoppia la sua dimensione. Se la chiazza impiega 48 giorni per ricoprire tutto il lago, quanti giorni impiegano le ninfee a coprire metà lago?", min=0, max=100) pallina = models.StringField(label="Una racchetta e una pallina costano 1.10 Euro in totale. La racchetta costa 1.00 di più della pallina. Quanto costa la pallina?") muratore = models.IntegerField(label="Se 5 muratori impiegano 5 minuti per costruire 5 muretti, quanto impiegerebbero 100 muratori a costruire 100 muretti?", min=0, max=200)