from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, ) import random author = 'Your name here' doc = """ Part 1 - (c) Subjects answer a questionnaire on demographics, personality traits and numeracy. """ class Constants(BaseConstants): name_in_url = 'part1_c' players_per_group = None num_rounds = 1 show_up_fee = "5" # date_ddl_part1 = "18 Maggio 2020 alle ore 12.00" class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): year_birth = models.IntegerField(label="Qual è il tuo anno di nascita?", min=1900, max=2020) gender = models.IntegerField(label="Potresti indicare il tuo sesso?", choices=[[1, "F"], [2, "M"], [3, "Preferisco non dichiarare"]]) major_econ = models.BooleanField(label="Studi Economia e/o Management?", choices=[[True, "Sì"], [False, "No"]]) major_other = models.LongStringField(label="Se hai risposto no, potresti indicare il tuo indirizzo di studi?", blank=True) big_1 = models.IntegerField(choices=[[1, "\t \t \t 1 \t \t \t"], [2, "\t 2 \t "], [3, "\t \t \t 3 \t \t \t"], [4, "\t \t \t 4 \t \t \t"], [5, "\t \t \t 5 \t \t \t"]], widget=widgets.RadioSelectHorizontal(), label="È loquace") big_2 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="Tende a trovare difetti negli altri") big_3 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="Fa un lavoro accurato") big_4 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="È depressa, malinconica") big_5 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="È originale, se ne esce con nuove idee") big_6 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="È riservata") big_7 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="È utile e altruista con gli altri") big_8 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="Può essere un po 'disattenta") big_9 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="È rilassata, gestisce bene lo stress") big_10 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="È curiosa di molte cose diverse") big_11 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="È piena di energia") big_12 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="Inizia litigi con gli altri") big_13 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="È un lavoratore affidabile") big_14 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="Può essere tesa") big_15 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="È ingegnosa, che pensa a fondo") big_16 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="Genera molto entusiasmo") big_17 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="Ha una tendenza naturale a perdonare") big_18 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="Tende ad essere disorganizzata") big_19 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="Si preoccupa molto") big_20 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="Ha un'immaginazione attiva") big_21 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="Tende ad essere silenziosa") big_22 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="È generalmente fiduciosa") big_23 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="Tende a essere pigra") big_24 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="È emotivamente stabile, non si sconvolge facilmente") big_25 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="Ha inventiva") big_26 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="Ha una personalità assertiva") big_27 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="Può essere freddo e distaccato") big_28 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="Persevera fino al termine dell'attività") big_29 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="Può essere lunatica") big_30 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="Apprezza le esperienze artistiche ed estetiche") big_31 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="A volte è timido, inibito") big_32 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="È premurosa e gentile con quasi tutti") big_33 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="Fa le cose in modo efficiente") big_34 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="Rimane calma in situazioni di tensione") big_35 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="Preferisce il lavoro di routine") big_36 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="È socievole") big_37 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="A volte è scortese con gli altri") big_38 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="Fa piani e li segue") big_39 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="Si innervosisce facilmente") big_40 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="Ama riflettere, giocare con le idee") big_41 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="Ha pochi interessi artistici") big_42 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="Ama collaborare con gli altri") big_43 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="Si distrae facilemente") big_44 = models.IntegerField(choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelectHorizontal(), label="È sofisticato in arte, musica o letteratura") numeracy_1 = models.FloatField(label="(1) Immagina di lanciare una moneta non truccata 1000 volte.\ Su 1000 lanci, quante volte pensi che la moneta verrebbe fuori come testa?") numeracy_2 = models.FloatField(label="(2) Nella lotteria del Bingo, le probabilità di vincere un\ premio di 10 EUR sono dell'1%. Qual è la tua ipotesi migliore su quante persone vincerebbero\ un premio di 10 EUR se 1000 persone acquistassero ciascuna un biglietto singolo dalla lotteria del Bingo?") numeracy_3 = models.FloatField(label="(3) In una lotteria, la possibilità di vincere una macchina è 1\ su 1000. Quale percentuale di biglietti della lotteria vince una macchina?") numeracy_4 = models.FloatField(label="(4) Se la probabilità di contrarre una malattia è del 10%,\ quante persone dovrebbero contrarre la malattia su 1000?") numeracy_5 = models.FloatField(label="(5) Se la possibilità di contrarre una malattia è 20 su 100,\ ciò equivarrebbe a avere una probabilità del ___ % di contrarre la malattia.") numeracy_6 = models.FloatField(label="(6) Una mazza e una palla costano $ 1,10 in totale. La mazza\ costa $ 1,00 in più rispetto alla palla. Quanto costa la palla?") numeracy_7 = models.FloatField(label="(7) In un lago, c'è una tappeto di ninfee. Ogni giorno,\ il tappeto raddoppia di dimensioni. Se occorrono 48 giorni affinché il tappeto copra l'intero\ lago, quanto tempo impiegherebbe il tappeto a coprire metà del lago?") numeracy_8 = models.FloatField(label="(8) Supponi di avere un’amica intima che ha un nodulo al seno\ e deve fare una mammografia. Di 100 donne come lei, 10 di loro hanno effettivamente un tumore\ maligno e 90 di loro no. Delle 10 donne che hanno effettivamente un tumore, la mammografia indica\ correttamente che 9 di loro hanno un tumore e indica erroneamente che 1 di loro non lo ha. Delle\ 90 donne che non hanno un tumore, la mammografia indica correttamente che 79 di loro non hanno un\ tumore e indica erroneamente che 11 di loro hanno un tumore. La tabella seguente riassume tutte\ queste informazioni. Immagina che la tua amica sia positiva (come se avesse un tumore), qual è\ la probabilità che abbia effettivamente un tumore?") part_label = models.StringField() cq1_1 = models.IntegerField() cq1_2 = models.IntegerField() cq1_3 = models.IntegerField() cq1_4 = models.IntegerField() order = models.LongStringField() DG_dec_1 = models.StringField() DG_dec_2 = models.StringField() DG_dec_3 = models.StringField() DG_dec_4 = models.StringField() DG_dec_5 = models.StringField() DG_dec_6 = models.StringField() DG_dec_7 = models.StringField() DG_dec_8 = models.StringField() DG_dec_9 = models.StringField() DG_dec_10 = models.StringField() DG_dec_11 = models.StringField() DG_dec_12 = models.StringField() DG_dec_13 = models.StringField() DG_dec_14 = models.StringField() DG_dec_15 = models.StringField() DG_dec_16 = models.StringField() DG_dec_17 = models.StringField() DG_dec_18 = models.StringField() DG_dec_19 = models.StringField() DG_dec_20 = models.StringField() DG_dec_21 = models.StringField() DG_dec_22 = models.StringField() DG_dec_23 = models.StringField() DG_dec_24 = models.StringField() DG_dec_25 = models.StringField() DG_dec_26 = models.StringField() DG_dec_27 = models.StringField() DG_dec_28 = models.StringField() DG_dec_29 = models.StringField() DG_dec_30 = models.StringField() DG_dec_31 = models.StringField() DG_dec_32 = models.StringField() DG_dec_33 = models.StringField() DG_dec_34 = models.StringField() DG_dec_35 = models.StringField() DG_dec_36 = models.StringField() DG_dec_37 = models.StringField() DG_dec_38 = models.StringField() DG_dec_39 = models.StringField()