from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range ) import random author = '@sunduzdivle' doc = """ manipulation check """ class Constants(BaseConstants): name_in_url = 'manipulation_check' players_per_group = None num_rounds = 1 num_questions = 10 minutes_given = 5 answer_keys_covid = ["HASTA", "MASKE", "AŞI", "TEMIZ","VAKA", "AĞRISI", "ATEŞ", "HIJYEN", "ANTIKOR", "SOSYAL MESAFE", "RISK","KURU ÖKSÜRÜK", "FILYASYON EKİBİ","KORONAVIRUS","HES KODU"] answer_keys_covid0 = ["HASTA", "MASKE", "ASI", "TEMIZ","VAKA", "AGRISI", "ATES", "HIJYEN", "KOR", "MESAFE", "KAN","OKSURUK", "FILYASYON","KAN","HES"] answer_keys = ["PASTA", "ASKER", "KAŞ", "SEMIZ", "ŞAKA", "KÖPRÜSÜ", "GERILIM", "TRAFIK", "ANTITEZ", "BILIMLER", "ÇALIŞMA GRUBU", "KURU SOĞAN", "ASAYİŞ EKİBİ","TÜRKÇE TESTI","POSTA KODU"] answer_keys1 = ["ASTAR", "ASKER", "ASK","SEMIZ", "YAKA", "TURU","TOPUK", "OKUL", "FEMINIST", "ILISKI","OKUMA","ÜZÜM","ARAŞTIRMA","MATEMATIK TESTI","ÜRÜN KODU"] class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): comp_checkA = models.IntegerField(label='A. “asi” cevabı doğru yanıttır, çünkü asi kelimesi as harflerinin arkasına i harfi getirilerek oluşturulmuş anlamlı bir kelimedir ve kelimenin tamamı cevap formuna yazılmıştır.', choices=[ [1, 'Doğru'], [0, 'Yanlış'], ], widget=widgets.RadioSelectHorizontal) comp_checkB = models.IntegerField(label='B. “pas, bas” cevabı yanlış yanıttır, çünkü yalnızca bir yanıt yazılması beklenmektedir.', choices=[ [1, 'Doğru'], [0, 'Yanlış'], ], widget=widgets.RadioSelectHorizontal) comp_checkC = models.IntegerField(label='C. “b” cevabı doğru yanıttır çünkü b harfi as harflerinin önüne getirilirse anlamlı olan "bas" kelimesini oluşturur.', choices=[ [1, 'Doğru'], [0, 'Yanlış'], ], widget=widgets.RadioSelectHorizontal) comp_checkD = models.IntegerField(label='D. “bildirim” cevabı doğru yanıttır, çünkü bildirim kelimesi geri kelimesinin arkasındaki boşluğa getirilerek anlamlı kelime oluşturmuştur ve boşluğa uygun kelime forma yazılmıştır.', choices=[ [1, 'Doğru'], [0, 'Yanlış'], ], widget=widgets.RadioSelectHorizontal) comp_checkE = models.IntegerField(label='E. “ileri geri” cevabı yanlış yanıttır, çünkü soruda boşluk geri kelimesinin önünde değil arkasındadır.', choices=[ [1, 'Doğru'], [0, 'Yanlış'], ], widget=widgets.RadioSelectHorizontal) # answer = models.IntegerField(choices=[0, 1,2,3,4,5,6,7,8], widget=widgets.RadioSelect, initial=0) q1 = models.StringField() q2 = models.StringField() q3 = models.StringField() q4 = models.StringField() q5 = models.StringField() q6 = models.StringField() q7 = models.StringField() q8 = models.StringField() q9 = models.StringField() q10 = models.StringField() q11 = models.StringField() q12 = models.StringField() q13 = models.StringField() q14 = models.StringField() q15 = models.StringField() q1_correct = models.IntegerField() q2_correct = models.IntegerField() q3_correct = models.IntegerField() q4_correct = models.IntegerField() q5_correct = models.IntegerField() q6_correct = models.IntegerField() q7_correct = models.IntegerField() q8_correct = models.IntegerField() q9_correct = models.IntegerField() q10_correct = models.IntegerField() q11_correct = models.IntegerField() q12_correct = models.IntegerField() q13_correct = models.IntegerField() q14_correct = models.IntegerField() q15_correct = models.IntegerField() man_check_total_correct = models.IntegerField( initial=0, doc="total number of correct answers" ) payoff_manipulation = models.IntegerField() def set_payoffs(self): self.q1=self.q1.upper() self.q2=self.q2.upper() self.q3=self.q3.upper() self.q4=self.q4.upper() self.q5=self.q5.upper() self.q6=self.q6.upper() self.q7=self.q7.upper() self.q8=self.q8.upper() self.q9=self.q9.upper() self.q10=self.q10.upper() self.q11=self.q11.upper() self.q12=self.q12.upper() self.q13=self.q13.upper() self.q14=self.q14.upper() self.q15=self.q15.upper() if self.q1 == Constants.answer_keys_covid[0] or self.q1 == Constants.answer_keys_covid0[0] or self.q1 == Constants.answer_keys[0] or self.q1 == Constants.answer_keys1[0]: self.q1_correct = 1 else: self.q1_correct = 0 if self.q2 == Constants.answer_keys_covid[1] or self.q2 == Constants.answer_keys_covid0[1] or self.q2 == Constants.answer_keys[1] or self.q2 == Constants.answer_keys1[1]: self.q2_correct = 1 else: self.q2_correct = 0 if self.q3 == Constants.answer_keys_covid[2] or self.q3 == Constants.answer_keys_covid0[2] or self.q3 == Constants.answer_keys[2] or self.q3 == Constants.answer_keys1[2]: self.q3_correct = 1 else: self.q3_correct = 0 if self.q4 == Constants.answer_keys_covid[3] or self.q4 == Constants.answer_keys_covid0[3] or self.q4 == Constants.answer_keys[3] or self.q4 == Constants.answer_keys1[3]: self.q4_correct = 1 else: self.q4_correct = 0 if self.q5 == Constants.answer_keys_covid[4] or self.q5 == Constants.answer_keys_covid0[4] or self.q5 == Constants.answer_keys[4] or self.q5 == Constants.answer_keys1[4]: self.q5_correct = 1 else: self.q5_correct = 0 if self.q6 == Constants.answer_keys_covid[5] or self.q6 == Constants.answer_keys_covid0[5] or self.q6 == Constants.answer_keys[5] or self.q6 == Constants.answer_keys1[5]: self.q6_correct = 1 else: self.q6_correct = 0 if self.q7 == Constants.answer_keys_covid[6] or self.q7 == Constants.answer_keys_covid0[6] or self.q7 == Constants.answer_keys[6] or self.q7 == Constants.answer_keys1[6]: self.q7_correct = 1 else: self.q7_correct = 0 if self.q8 == Constants.answer_keys_covid[7] or self.q8 == Constants.answer_keys_covid0[7] or self.q8 == Constants.answer_keys[7] or self.q8 == Constants.answer_keys1[7]: self.q8_correct = 1 else: self.q8_correct = 0 if self.q9 == Constants.answer_keys_covid[8] or self.q9 == Constants.answer_keys_covid0[8] or self.q9 == Constants.answer_keys[8] or self.q9 == Constants.answer_keys1[8]: self.q9_correct = 1 else: self.q9_correct = 0 if self.q10 == Constants.answer_keys_covid[9] or self.q10 == Constants.answer_keys_covid0[9] or self.q10 == Constants.answer_keys[9] or self.q10 == Constants.answer_keys1[9]: self.q10_correct = 1 else: self.q10_correct = 0 if self.q11 == Constants.answer_keys_covid[10] or self.q11 == Constants.answer_keys_covid0[10] or self.q11 == Constants.answer_keys[10] or self.q11 == Constants.answer_keys1[10]: self.q11_correct = 1 else: self.q11_correct = 0 if self.q12 == Constants.answer_keys_covid[11] or self.q12 == Constants.answer_keys_covid0[11] or self.q12 == Constants.answer_keys[11] or self.q12 == Constants.answer_keys1[11]: self.q12_correct = 1 else: self.q12_correct = 0 if self.q13 == Constants.answer_keys_covid[12] or self.q13 == Constants.answer_keys_covid0[12] or self.q13 == Constants.answer_keys[12] or self.q13 == Constants.answer_keys1[12]: self.q13_correct = 1 else: self.q13_correct = 0 if self.q14 == Constants.answer_keys_covid[13] or self.q14 == Constants.answer_keys_covid0[13] or self.q14 == Constants.answer_keys[13] or self.q14 == Constants.answer_keys1[13]: self.q14_correct = 1 else: self.q14_correct = 0 if self.q15 == Constants.answer_keys_covid[14] or self.q15 == Constants.answer_keys_covid0[14] or self.q15 == Constants.answer_keys[14] or self.q15 == Constants.answer_keys1[14]: self.q15_correct = 1 else: self.q15_correct = 0 self.man_check_total_correct = self.q1_correct + \ self.q2_correct + \ self.q3_correct + \ self.q4_correct + \ self.q5_correct + \ self.q6_correct + \ self.q7_correct + \ self.q8_correct + \ self.q9_correct + \ self.q10_correct + \ self.q11_correct + \ self.q12_correct + \ self.q13_correct + \ self.q14_correct + \ self.q15_correct self.payoff_manipulation = 3 * self.man_check_total_correct self.participant.vars['payoff_manipulation'] = self.payoff_manipulation print("Total number of correct: manipulation check", self.man_check_total_correct) print("Payoff: manipulation check", self.payoff_manipulation) print("Payoff: manipulation check", self.participant.vars['payoff_manipulation']) covid_total_correct = models.IntegerField( initial=0, doc="total number of covid-related answers" ) q1c_correct = models.IntegerField() q2c_correct = models.IntegerField() q3c_correct = models.IntegerField() q4c_correct = models.IntegerField() q5c_correct = models.IntegerField() q6c_correct = models.IntegerField() q7c_correct = models.IntegerField() q8c_correct = models.IntegerField() q9c_correct = models.IntegerField() q10c_correct = models.IntegerField() q11c_correct = models.IntegerField() q12c_correct = models.IntegerField() q13c_correct = models.IntegerField() q14c_correct = models.IntegerField() q15c_correct = models.IntegerField() def set_covid_performance(self): self.q1=self.q1.upper() self.q2=self.q2.upper() self.q3=self.q3.upper() self.q4=self.q4.upper() self.q5=self.q5.upper() self.q6=self.q6.upper() self.q7=self.q7.upper() self.q8=self.q8.upper() self.q9=self.q9.upper() self.q10=self.q10.upper() self.q11=self.q11.upper() self.q12=self.q12.upper() self.q13=self.q13.upper() self.q14=self.q14.upper() self.q15=self.q15.upper() if self.q1 == Constants.answer_keys_covid[0] or self.q1 == Constants.answer_keys_covid0[0]: self.q1c_correct = 1 else: self.q1c_correct = 0 if self.q2 == Constants.answer_keys_covid[1] or self.q2 == Constants.answer_keys_covid0[1]: self.q2c_correct = 1 else: self.q2c_correct = 0 if self.q3 == Constants.answer_keys_covid[2] or self.q3 == Constants.answer_keys_covid0[2]: self.q3c_correct = 1 else: self.q3c_correct = 0 if self.q4 == Constants.answer_keys_covid[3] or self.q4 == Constants.answer_keys_covid0[3] : self.q4c_correct = 1 else: self.q4c_correct = 0 if self.q5 == Constants.answer_keys_covid[4] or self.q5 == Constants.answer_keys_covid0[4] : self.q5c_correct = 1 else: self.q5c_correct = 0 if self.q6 == Constants.answer_keys_covid[5] or self.q6 == Constants.answer_keys_covid0[5] : self.q6c_correct = 1 else: self.q6c_correct = 0 if self.q7 == Constants.answer_keys_covid[6] or self.q7 == Constants.answer_keys_covid0[6]: self.q7c_correct = 1 else: self.q7c_correct = 0 if self.q8 == Constants.answer_keys_covid[7] or self.q8 == Constants.answer_keys_covid0[7] : self.q8c_correct = 1 else: self.q8c_correct = 0 if self.q9 == Constants.answer_keys_covid[8] or self.q9 == Constants.answer_keys_covid0[8] : self.q9c_correct = 1 else: self.q9c_correct = 0 if self.q10 == Constants.answer_keys_covid[9] or self.q10 == Constants.answer_keys_covid0[9]: self.q10c_correct = 1 else: self.q10c_correct = 0 if self.q11 == Constants.answer_keys_covid[10] or self.q11 == Constants.answer_keys_covid0[10] : self.q11c_correct = 1 else: self.q11c_correct = 0 if self.q12 == Constants.answer_keys_covid[11] or self.q12 == Constants.answer_keys_covid0[11] : self.q12c_correct = 1 else: self.q12c_correct = 0 if self.q13 == Constants.answer_keys_covid[12] or self.q13 == Constants.answer_keys_covid0[12]: self.q13c_correct = 1 else: self.q13c_correct = 0 if self.q14 == Constants.answer_keys_covid[13] or self.q14 == Constants.answer_keys_covid0[13] : self.q14c_correct = 1 else: self.q14c_correct = 0 if self.q15 == Constants.answer_keys_covid[14] or self.q15 == Constants.answer_keys_covid0[14] : self.q15c_correct = 1 else: self.q15c_correct = 0 self.covid_total_correct = self.q1c_correct + \ self.q2c_correct + \ self.q3c_correct + \ self.q4c_correct + \ self.q5c_correct + \ self.q6c_correct + \ self.q7c_correct + \ self.q8c_correct + \ self.q9c_correct + \ self.q10c_correct + \ self.q11c_correct + \ self.q12c_correct + \ self.q13c_correct + \ self.q14c_correct + \ self.q15c_correct print("Total number of correct: covid-related answers", self.covid_total_correct)