from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, ) import random import string doc = """ This is a public goods game with 5 players. """ class Constants(BaseConstants): name_in_url = 'public_goods_resettlement' players_per_group = None num_rounds = 1 instructions_template = 'public_goods_resettlement/instructions.html' # """Amount allocated to each player""" multiplier = 1 endowment = c(10) class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): your_number = models.StringField() age = models.IntegerField() gender = models.StringField( choices=["male", "female"], ) typing = models.IntegerField( min=1, max=5, label ='''Are you good at typing? (No = 1, Yes= 5)''' ) contribution1 = models.CurrencyField( min=5, label='''How much do you want to contribute?''' ) contribution2 = models.CurrencyField( min=5, label='''How much do you want to contribute?''' ) contribution3 = models.CurrencyField( min=5, label='''How much do you want to contribute?''' ) contribution4 = models.CurrencyField( min=5, label='''How much do you want to contribute?''' ) contribution5 = models.CurrencyField( min=5, label='''How much do you want to contribute?''' ) feelings1 = models.IntegerField( min=1, max=5, label='''Do you agree with the project even if you are told to miss a turn?(Disagree=1 Agree=5)''' ) feelings2 = models.IntegerField( min=1, max=5, label='''How do you feel?(Dissatisfied=1 Satisfied=5)''' ) feelings3 = models.IntegerField( min=1, max=5, label='''How do you feel?(Dissatisfied=1 Satisfied=5)''' ) Stealing_p_leader = models.IntegerField( min=0, max=20, label='''From the leader''' ) Stealing_p_A = models.IntegerField( min=0, max=20, label='''From Participant A''' ) Stealing_p_B = models.IntegerField( min=0, max=20, label='''From Parcitipant B''' ) Stealing_p_C = models.IntegerField( min=0, max=20, label='''From Participant C''' ) total_contribution1 = models.CurrencyField() total_earning1 = models.CurrencyField() individual_share1 = models.CurrencyField() payoff1 = models.CurrencyField() total_contribution2 = models.CurrencyField() total_earning2 = models.CurrencyField() individual_share2 = models.CurrencyField() payoff2 = models.CurrencyField() total_contribution3 = models.CurrencyField() total_earning3 = models.CurrencyField() individual_share3 = models.CurrencyField() payoff3 = models.CurrencyField() total_contribution4 = models.CurrencyField() total_earning4 = models.CurrencyField() individual_share4 = models.CurrencyField() payoff4 = models.CurrencyField() total_contribution5 = models.CurrencyField() total_earning5 = models.CurrencyField() individual_share5 = models.CurrencyField() payoff5 = models.CurrencyField() #Questions and Answers 0A to 0Z def randomkey0A(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que0A = models.StringField(initial = randomkey0A(5)) def randomkey0B(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que0B = models.StringField(initial = randomkey0B(5)) def randomkey0C(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que0C = models.StringField(initial = randomkey0C(5)) def randomkey0D(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que0D = models.StringField(initial = randomkey0D(5)) def randomkey0E(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que0E = models.StringField(initial = randomkey0E(5)) def randomkey0F(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que0F = models.StringField(initial = randomkey0F(5)) def randomkey0G(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que0G = models.StringField(initial = randomkey0G(5)) def randomkey0H(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que0H = models.StringField(initial = randomkey0H(5)) def randomkey0I(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que0I = models.StringField(initial = randomkey0I(5)) def randomkey0J(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que0J = models.StringField(initial = randomkey0J(5)) def randomkey0K(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que0K = models.StringField(initial = randomkey0K(5)) def randomkey0L(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que0L = models.StringField(initial = randomkey0L(5)) def randomkey0M(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que0M = models.StringField(initial = randomkey0M(5)) def randomkey0N(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que0N = models.StringField(initial = randomkey0N(5)) def randomkey0O(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que0O = models.StringField(initial = randomkey0O(5)) def randomkey0P(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que0P = models.StringField(initial = randomkey0P(5)) def randomkey0Q(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que0Q = models.StringField(initial = randomkey0Q(5)) def randomkey0R(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que0R = models.StringField(initial = randomkey0R(5)) def randomkey0S(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que0S = models.StringField(initial = randomkey0S(5)) def randomkey0T(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que0T = models.StringField(initial = randomkey0T(5)) def randomkey0U(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que0U = models.StringField(initial = randomkey0U(5)) def randomkey0V(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que0V = models.StringField(initial = randomkey0V(5)) def randomkey0W(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que0W = models.StringField(initial = randomkey0W(5)) def randomkey0X(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que0X = models.StringField(initial = randomkey0X(5)) def randomkey0Y(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que0Y = models.StringField(initial = randomkey0Y(5)) def randomkey0Z(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que0Z = models.StringField(initial = randomkey0Z(5)) #Answer forms ans0A = models.StringField(blank=True, null=True) ans0B = models.StringField(blank=True, null=True) ans0C = models.StringField(blank=True, null=True) ans0D = models.StringField(blank=True, null=True) ans0E = models.StringField(blank=True, null=True) ans0F = models.StringField(blank=True, null=True) ans0G = models.StringField(blank=True, null=True) ans0H = models.StringField(blank=True, null=True) ans0I = models.StringField(blank=True, null=True) ans0J = models.StringField(blank=True, null=True) ans0K = models.StringField(blank=True, null=True) ans0L = models.StringField(blank=True, null=True) ans0M = models.StringField(blank=True, null=True) ans0N = models.StringField(blank=True, null=True) ans0O = models.StringField(blank=True, null=True) ans0P = models.StringField(blank=True, null=True) ans0Q = models.StringField(blank=True, null=True) ans0R = models.StringField(blank=True, null=True) ans0S = models.StringField(blank=True, null=True) ans0T = models.StringField(blank=True, null=True) ans0U = models.StringField(blank=True, null=True) ans0V = models.StringField(blank=True, null=True) ans0W = models.StringField(blank=True, null=True) ans0X = models.StringField(blank=True, null=True) ans0Y = models.StringField(blank=True, null=True) ans0Z = models.StringField(blank=True, null=True) def vars_for_admin_report(): ans0A = [ p.ans0A for p in self.get_players() ] ans0B = [ p.ans0B for p in self.get_players() ] ans0C = [ p.ans0C for p in self.get_players() ] ans0D = [ p.ans0D for p in self.get_players() ] ans0E = [ p.ans0E for p in self.get_players() ] ans0F = [ p.ans0F for p in self.get_players() ] ans0G = [ p.ans0G for p in self.get_players() ] ans0H = [ p.ans0H for p in self.get_players() ] ans0I = [ p.ans0I for p in self.get_players() ] ans0J = [ p.ans0J for p in self.get_players() ] ans0K = [ p.ans0K for p in self.get_players() ] ans0L = [ p.ans0L for l in self.get_players() ] ans0M = [ p.ans0M for p in self.get_players() ] ans0N = [ p.ans0N for p in self.get_players() ] ans0O = [ p.ans0O for p in self.get_players() ] ans0P = [ p.ans0P for p in self.get_players() ] ans0Q = [ p.ans0Q for p in self.get_players() ] ans0R = [ p.ans0R for p in self.get_players() ] ans0S = [ p.ans0S for p in self.get_players() ] ans0T = [ p.ans0T for p in self.get_players() ] ans0U = [ p.ans0U for p in self.get_players() ] ans0V = [ p.ans0V for p in self.get_players() ] ans0W = [ p.ans0W for p in self.get_players() ] ans0X = [ p.ans0X for p in self.get_players() ] ans0Y = [ p.ans0Y for p in self.get_players() ] ans0Z = [ p.ans0Z for p in self.get_players() ] earning0 = models.CurrencyField(initial=0) if que0A == ans0A: earning0 += 5 if que0B == ans0B: earning0 += 5 if que0C == ans0C: earning0 += 5 if que0D == ans0D: earning0 += 5 if que0E == ans0E: earning0 += 5 if que0F == ans0F: earning0 += 5 if que0G == ans0G: earning0 += 5 if que0H == ans0H: earning0 += 5 if que0I == ans0I: earning0 += 5 if que0J == ans0J: earning0 += 5 if que0K == ans0K: earning0 += 5 if que0L == ans0L: earning0 += 5 if que0M == ans0M: earning0 += 5 if que0N == ans0N: earning0 += 5 if que0O == ans0O: earning0 += 5 if que0P == ans0P: earning0 += 5 if que0Q == ans0Q: earning0 += 5 if que0R == ans0R: earning0 += 5 if que0S == ans0S: earning0 += 5 if que0T == ans0T: earning0 += 5 if que0U == ans0U: earning0 += 5 if que0V == ans0V: earning0 += 5 if que0W == ans0W: earning0 += 5 if que0X == ans0X: earning0 += 5 if que0Y == ans0Y: earning0 += 5 if que0Z == ans0Z: earning0 += 5 #Questions and Answers 1A to 1Z def randomkey1A(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que1A = models.StringField(initial = randomkey1A(5)) def randomkey1B(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que1B = models.StringField(initial = randomkey1B(5)) def randomkey1C(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que1C = models.StringField(initial = randomkey1C(5)) def randomkey1D(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que1D = models.StringField(initial = randomkey1D(5)) def randomkey1E(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que1E = models.StringField(initial = randomkey1E(5)) def randomkey1F(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que1F = models.StringField(initial = randomkey1F(5)) def randomkey1G(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que1G = models.StringField(initial = randomkey1G(5)) def randomkey1H(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que1H = models.StringField(initial = randomkey1H(5)) def randomkey1I(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que1I = models.StringField(initial = randomkey1I(5)) def randomkey1J(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que1J = models.StringField(initial = randomkey1J(5)) def randomkey1K(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que1K = models.StringField(initial = randomkey1K(5)) def randomkey1L(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que1L = models.StringField(initial = randomkey1L(5)) def randomkey1M(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que1M = models.StringField(initial = randomkey1M(5)) def randomkey1N(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que1N = models.StringField(initial = randomkey1N(5)) def randomkey1O(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que1O = models.StringField(initial = randomkey1O(5)) def randomkey1P(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que1P = models.StringField(initial = randomkey1P(5)) def randomkey1Q(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que1Q = models.StringField(initial = randomkey1Q(5)) def randomkey1R(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que1R = models.StringField(initial = randomkey1R(5)) def randomkey1S(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que1S = models.StringField(initial = randomkey1S(5)) def randomkey1T(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que1T = models.StringField(initial = randomkey1T(5)) def randomkey1U(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que1U = models.StringField(initial = randomkey1U(5)) def randomkey1V(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que1V = models.StringField(initial = randomkey1V(5)) def randomkey1W(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que1W = models.StringField(initial = randomkey1W(5)) def randomkey1X(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que1X = models.StringField(initial = randomkey1X(5)) def randomkey1Y(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que1Y = models.StringField(initial = randomkey1Y(5)) def randomkey1Z(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que1Z = models.StringField(initial = randomkey1Z(5)) #Answer forms ans1A = models.StringField(blank=True, null=True) ans1B = models.StringField(blank=True, null=True) ans1C = models.StringField(blank=True, null=True) ans1D = models.StringField(blank=True, null=True) ans1E = models.StringField(blank=True, null=True) ans1F = models.StringField(blank=True, null=True) ans1G = models.StringField(blank=True, null=True) ans1H = models.StringField(blank=True, null=True) ans1I = models.StringField(blank=True, null=True) ans1J = models.StringField(blank=True, null=True) ans1K = models.StringField(blank=True, null=True) ans1L = models.StringField(blank=True, null=True) ans1M = models.StringField(blank=True, null=True) ans1N = models.StringField(blank=True, null=True) ans1O = models.StringField(blank=True, null=True) ans1P = models.StringField(blank=True, null=True) ans1Q = models.StringField(blank=True, null=True) ans1R = models.StringField(blank=True, null=True) ans1S = models.StringField(blank=True, null=True) ans1T = models.StringField(blank=True, null=True) ans1U = models.StringField(blank=True, null=True) ans1V = models.StringField(blank=True, null=True) ans1W = models.StringField(blank=True, null=True) ans1X = models.StringField(blank=True, null=True) ans1Y = models.StringField(blank=True, null=True) ans1Z = models.StringField(blank=True, null=True) def vars_for_admin_report(): ans1A = [ p.ans1A for p in self.get_players() ] ans1B = [ p.ans1B for p in self.get_players() ] ans1C = [ p.ans1C for p in self.get_players() ] ans1D = [ p.ans1D for p in self.get_players() ] ans1E = [ p.ans1E for p in self.get_players() ] ans1F = [ p.ans1F for p in self.get_players() ] ans1G = [ p.ans1G for p in self.get_players() ] ans1H = [ p.ans1H for p in self.get_players() ] ans1I = [ p.ans1I for p in self.get_players() ] ans1J = [ p.ans1J for p in self.get_players() ] ans1K = [ p.ans1K for p in self.get_players() ] ans1L = [ p.ans1L for l in self.get_players() ] ans1M = [ p.ans1M for p in self.get_players() ] ans1N = [ p.ans1N for p in self.get_players() ] ans1O = [ p.ans1O for p in self.get_players() ] ans1P = [ p.ans1P for p in self.get_players() ] ans1Q = [ p.ans1Q for p in self.get_players() ] ans1R = [ p.ans1R for p in self.get_players() ] ans1S = [ p.ans1S for p in self.get_players() ] ans1T = [ p.ans1T for p in self.get_players() ] ans1U = [ p.ans1U for p in self.get_players() ] ans1V = [ p.ans1V for p in self.get_players() ] ans1W = [ p.ans1W for p in self.get_players() ] ans1X = [ p.ans1X for p in self.get_players() ] ans1Y = [ p.ans1Y for p in self.get_players() ] ans1Z = [ p.ans1Z for p in self.get_players() ] earning1 = models.CurrencyField(initial=0) if que1A == ans1A: earning1 += 5 if que1B == ans1B: earning1 += 5 if que1C == ans1C: earning1 += 5 if que1D == ans1D: earning1 += 5 if que1E == ans1E: earning1 += 5 if que1F == ans1F: earning1 += 5 if que1G == ans1G: earning1 += 5 if que1H == ans1H: earning1 += 5 if que1I == ans1I: earning1 += 5 if que1J == ans1J: earning1 += 5 if que1K == ans1K: earning1 += 5 if que1L == ans1L: earning1 += 5 if que1M == ans1M: earning1 += 5 if que1N == ans1N: earning1 += 5 if que1O == ans1O: earning1 += 5 if que1P == ans1P: earning1 += 5 if que1Q == ans1Q: earning1 += 5 if que1R == ans1R: earning1 += 5 if que1S == ans1S: earning1 += 5 if que1T == ans1T: earning1 += 5 if que1U == ans1U: earning1 += 5 if que1V == ans1V: earning1 += 5 if que1W == ans1W: earning1 += 5 if que1X == ans1X: earning1 += 5 if que1Y == ans1Y: earning1 += 5 if que1Z == ans1Z: earning1 += 5 #Questions and Answers 2A to 2Z def randomkey2A(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que2A = models.StringField(initial = randomkey2A(5)) def randomkey2B(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que2B = models.StringField(initial = randomkey2B(5)) def randomkey2C(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que2C = models.StringField(initial = randomkey2C(5)) def randomkey2D(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que2D = models.StringField(initial = randomkey2D(5)) def randomkey2E(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que2E = models.StringField(initial = randomkey2E(5)) def randomkey2F(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que2F = models.StringField(initial = randomkey2F(5)) def randomkey2G(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que2G = models.StringField(initial = randomkey2G(5)) def randomkey2H(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que2H = models.StringField(initial = randomkey2H(5)) def randomkey2I(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que2I = models.StringField(initial = randomkey2I(5)) def randomkey2J(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que2J = models.StringField(initial = randomkey2J(5)) def randomkey2K(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que2K = models.StringField(initial = randomkey2K(5)) def randomkey2L(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que2L = models.StringField(initial = randomkey2L(5)) def randomkey2M(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que2M = models.StringField(initial = randomkey2M(5)) def randomkey2N(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que2N = models.StringField(initial = randomkey2N(5)) def randomkey2O(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que2O = models.StringField(initial = randomkey2O(5)) def randomkey2P(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que2P = models.StringField(initial = randomkey2P(5)) def randomkey2Q(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que2Q = models.StringField(initial = randomkey2Q(5)) def randomkey2R(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que2R = models.StringField(initial = randomkey2R(5)) def randomkey2S(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que2S = models.StringField(initial = randomkey2S(5)) def randomkey2T(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que2T = models.StringField(initial = randomkey2T(5)) def randomkey2U(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que2U = models.StringField(initial = randomkey2U(5)) def randomkey2V(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que2V = models.StringField(initial = randomkey2V(5)) def randomkey2W(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que2W = models.StringField(initial = randomkey2W(5)) def randomkey2X(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que2X = models.StringField(initial = randomkey2X(5)) def randomkey2Y(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que2Y = models.StringField(initial = randomkey2Y(5)) def randomkey2Z(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que2Z = models.StringField(initial = randomkey2Z(5)) #Answer forms ans2A = models.StringField(blank=True, null=True) ans2B = models.StringField(blank=True, null=True) ans2C = models.StringField(blank=True, null=True) ans2D = models.StringField(blank=True, null=True) ans2E = models.StringField(blank=True, null=True) ans2F = models.StringField(blank=True, null=True) ans2G = models.StringField(blank=True, null=True) ans2H = models.StringField(blank=True, null=True) ans2I = models.StringField(blank=True, null=True) ans2J = models.StringField(blank=True, null=True) ans2K = models.StringField(blank=True, null=True) ans2L = models.StringField(blank=True, null=True) ans2M = models.StringField(blank=True, null=True) ans2N = models.StringField(blank=True, null=True) ans2O = models.StringField(blank=True, null=True) ans2P = models.StringField(blank=True, null=True) ans2Q = models.StringField(blank=True, null=True) ans2R = models.StringField(blank=True, null=True) ans2S = models.StringField(blank=True, null=True) ans2T = models.StringField(blank=True, null=True) ans2U = models.StringField(blank=True, null=True) ans2V = models.StringField(blank=True, null=True) ans2W = models.StringField(blank=True, null=True) ans2X = models.StringField(blank=True, null=True) ans2Y = models.StringField(blank=True, null=True) ans2Z = models.StringField(blank=True, null=True) def vars_for_admin_report(): ans2A = [ p.ans2A for p in self.get_players() ] ans2B = [ p.ans2B for p in self.get_players() ] ans2C = [ p.ans2C for p in self.get_players() ] ans2D = [ p.ans2D for p in self.get_players() ] ans2E = [ p.ans2E for p in self.get_players() ] ans2F = [ p.ans2F for p in self.get_players() ] ans2G = [ p.ans2G for p in self.get_players() ] ans2H = [ p.ans2H for p in self.get_players() ] ans2I = [ p.ans2I for p in self.get_players() ] ans2J = [ p.ans2J for p in self.get_players() ] ans2K = [ p.ans2K for p in self.get_players() ] ans2L = [ p.ans2L for l in self.get_players() ] ans2M = [ p.ans2M for p in self.get_players() ] ans2N = [ p.ans2N for p in self.get_players() ] ans2O = [ p.ans2O for p in self.get_players() ] ans2P = [ p.ans2P for p in self.get_players() ] ans2Q = [ p.ans2Q for p in self.get_players() ] ans2R = [ p.ans2R for p in self.get_players() ] ans2S = [ p.ans2S for p in self.get_players() ] ans2T = [ p.ans2T for p in self.get_players() ] ans2U = [ p.ans2U for p in self.get_players() ] ans2V = [ p.ans2V for p in self.get_players() ] ans2W = [ p.ans2W for p in self.get_players() ] ans2X = [ p.ans2X for p in self.get_players() ] ans2Y = [ p.ans2Y for p in self.get_players() ] ans2Z = [ p.ans2Z for p in self.get_players() ] earning2 = models.CurrencyField(initial=0) if que2A == ans2A: earning2 += 5 if que2B == ans2B: earning2 += 5 if que2C == ans2C: earning2 += 5 if que2D == ans2D: earning2 += 5 if que2E == ans2E: earning2 += 5 if que2F == ans2F: earning2 += 5 if que2G == ans2G: earning2 += 5 if que2H == ans2H: earning2 += 5 if que2I == ans2I: earning2 += 5 if que2J == ans2J: earning2 += 5 if que2K == ans2K: earning2 += 5 if que2L == ans2L: earning2 += 5 if que2M == ans2M: earning2 += 5 if que2N == ans2N: earning2 += 5 if que2O == ans2O: earning2 += 5 if que2P == ans2P: earning2 += 5 if que2Q == ans2Q: earning2 += 5 if que2R == ans2R: earning2 += 5 if que2S == ans2S: earning2 += 5 if que2T == ans2T: earning2 += 5 if que2U == ans2U: earning2 += 5 if que2V == ans2V: earning2 += 5 if que2W == ans2W: earning2 += 5 if que2X == ans2X: earning2 += 5 if que2Y == ans2Y: earning2 += 5 if que2Z == ans2Z: earning2 += 5 #Questions and Answers 3A to 3Z def randomkey3A(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que3A = models.StringField(initial = randomkey3A(5)) def randomkey3B(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que3B = models.StringField(initial = randomkey3B(5)) def randomkey3C(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que3C = models.StringField(initial = randomkey3C(5)) def randomkey3D(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que3D = models.StringField(initial = randomkey3D(5)) def randomkey3E(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que3E = models.StringField(initial = randomkey3E(5)) def randomkey3F(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que3F = models.StringField(initial = randomkey3F(5)) def randomkey3G(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que3G = models.StringField(initial = randomkey3G(5)) def randomkey3H(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que3H = models.StringField(initial = randomkey3H(5)) def randomkey3I(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que3I = models.StringField(initial = randomkey3I(5)) def randomkey3J(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que3J = models.StringField(initial = randomkey3J(5)) def randomkey3K(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que3K = models.StringField(initial = randomkey3K(5)) def randomkey3L(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que3L = models.StringField(initial = randomkey3L(5)) def randomkey3M(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que3M = models.StringField(initial = randomkey3M(5)) def randomkey3N(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que3N = models.StringField(initial = randomkey3N(5)) def randomkey3O(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que3O = models.StringField(initial = randomkey3O(5)) def randomkey3P(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que3P = models.StringField(initial = randomkey3P(5)) def randomkey3Q(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que3Q = models.StringField(initial = randomkey3Q(5)) def randomkey3R(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que3R = models.StringField(initial = randomkey3R(5)) def randomkey3S(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que3S = models.StringField(initial = randomkey3S(5)) def randomkey3T(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que3T = models.StringField(initial = randomkey3T(5)) def randomkey3U(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que3U = models.StringField(initial = randomkey3U(5)) def randomkey3V(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que3V = models.StringField(initial = randomkey3V(5)) def randomkey3W(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que3W = models.StringField(initial = randomkey3W(5)) def randomkey3X(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que3X = models.StringField(initial = randomkey3X(5)) def randomkey3Y(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que3Y = models.StringField(initial = randomkey3Y(5)) def randomkey3Z(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que3Z = models.StringField(initial = randomkey3Z(5)) #Answer forms ans3A = models.StringField(blank=True, null=True) ans3B = models.StringField(blank=True, null=True) ans3C = models.StringField(blank=True, null=True) ans3D = models.StringField(blank=True, null=True) ans3E = models.StringField(blank=True, null=True) ans3F = models.StringField(blank=True, null=True) ans3G = models.StringField(blank=True, null=True) ans3H = models.StringField(blank=True, null=True) ans3I = models.StringField(blank=True, null=True) ans3J = models.StringField(blank=True, null=True) ans3K = models.StringField(blank=True, null=True) ans3L = models.StringField(blank=True, null=True) ans3M = models.StringField(blank=True, null=True) ans3N = models.StringField(blank=True, null=True) ans3O = models.StringField(blank=True, null=True) ans3P = models.StringField(blank=True, null=True) ans3Q = models.StringField(blank=True, null=True) ans3R = models.StringField(blank=True, null=True) ans3S = models.StringField(blank=True, null=True) ans3T = models.StringField(blank=True, null=True) ans3U = models.StringField(blank=True, null=True) ans3V = models.StringField(blank=True, null=True) ans3W = models.StringField(blank=True, null=True) ans3X = models.StringField(blank=True, null=True) ans3Y = models.StringField(blank=True, null=True) ans3Z = models.StringField(blank=True, null=True) def vars_for_admin_report(): ans3A = [ p.ans3A for p in self.get_players() ] ans3B = [ p.ans3B for p in self.get_players() ] ans3C = [ p.ans3C for p in self.get_players() ] ans3D = [ p.ans3D for p in self.get_players() ] ans3E = [ p.ans3E for p in self.get_players() ] ans3F = [ p.ans3F for p in self.get_players() ] ans3G = [ p.ans3G for p in self.get_players() ] ans3H = [ p.ans3H for p in self.get_players() ] ans3I = [ p.ans3I for p in self.get_players() ] ans3J = [ p.ans3J for p in self.get_players() ] ans3K = [ p.ans3K for p in self.get_players() ] ans3L = [ p.ans3L for l in self.get_players() ] ans3M = [ p.ans3M for p in self.get_players() ] ans3N = [ p.ans3N for p in self.get_players() ] ans3O = [ p.ans3O for p in self.get_players() ] ans3P = [ p.ans3P for p in self.get_players() ] ans3Q = [ p.ans3Q for p in self.get_players() ] ans3R = [ p.ans3R for p in self.get_players() ] ans3S = [ p.ans3S for p in self.get_players() ] ans3T = [ p.ans3T for p in self.get_players() ] ans3U = [ p.ans3U for p in self.get_players() ] ans3V = [ p.ans3V for p in self.get_players() ] ans3W = [ p.ans3W for p in self.get_players() ] ans3X = [ p.ans3X for p in self.get_players() ] ans3Y = [ p.ans3Y for p in self.get_players() ] ans3Z = [ p.ans3Z for p in self.get_players() ] earning3 = models.CurrencyField(initial=0) if que3A == ans3A: earning3 += 5 if que3B == ans3B: earning3 += 5 if que3C == ans3C: earning3 += 5 if que3D == ans3D: earning3 += 5 if que3E == ans3E: earning3 += 5 if que3F == ans3F: earning3 += 5 if que3G == ans3G: earning3 += 5 if que3H == ans3H: earning3 += 5 if que3I == ans3I: earning3 += 5 if que3J == ans3J: earning3 += 5 if que3K == ans3K: earning3 += 5 if que3L == ans3L: earning3 += 5 if que3M == ans3M: earning3 += 5 if que3N == ans3N: earning3 += 5 if que3O == ans3O: earning3 += 5 if que3P == ans3P: earning3 += 5 if que3Q == ans3Q: earning3 += 5 if que3R == ans3R: earning3 += 5 if que3S == ans3S: earning3 += 5 if que3T == ans3T: earning3 += 5 if que3U == ans3U: earning3 += 5 if que3V == ans3V: earning3 += 5 if que3W == ans3W: earning3 += 5 if que3X == ans3X: earning3 += 5 if que3Y == ans3Y: earning3 += 5 if que3Z == ans3Z: earning3 += 5 #Questions and Answers 4A to 4Z def randomkey4A(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que4A = models.StringField(initial = randomkey4A(5)) def randomkey4B(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que4B = models.StringField(initial = randomkey4B(5)) def randomkey4C(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que4C = models.StringField(initial = randomkey4C(5)) def randomkey4D(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que4D = models.StringField(initial = randomkey4D(5)) def randomkey4E(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que4E = models.StringField(initial = randomkey4E(5)) def randomkey4F(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que4F = models.StringField(initial = randomkey4F(5)) def randomkey4G(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que4G = models.StringField(initial = randomkey4G(5)) def randomkey4H(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que4H = models.StringField(initial = randomkey4H(5)) def randomkey4I(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que4I = models.StringField(initial = randomkey4I(5)) def randomkey4J(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que4J = models.StringField(initial = randomkey4J(5)) def randomkey4K(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que4K = models.StringField(initial = randomkey4K(5)) def randomkey4L(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que4L = models.StringField(initial = randomkey4L(5)) def randomkey4M(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que4M = models.StringField(initial = randomkey4M(5)) def randomkey4N(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que4N = models.StringField(initial = randomkey4N(5)) def randomkey4O(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que4O = models.StringField(initial = randomkey4O(5)) def randomkey4P(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que4P = models.StringField(initial = randomkey4P(5)) def randomkey4Q(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que4Q = models.StringField(initial = randomkey4Q(5)) def randomkey4R(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que4R = models.StringField(initial = randomkey4R(5)) def randomkey4S(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que4S = models.StringField(initial = randomkey4S(5)) def randomkey4T(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que4T = models.StringField(initial = randomkey4T(5)) def randomkey4U(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que4U = models.StringField(initial = randomkey4U(5)) def randomkey4V(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que4V = models.StringField(initial = randomkey4V(5)) def randomkey4W(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que4W = models.StringField(initial = randomkey4W(5)) def randomkey4X(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que4X = models.StringField(initial = randomkey4X(5)) def randomkey4Y(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que4Y = models.StringField(initial = randomkey4Y(5)) def randomkey4Z(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que4Z = models.StringField(initial = randomkey4Z(5)) #Answer forms ans4A = models.StringField(blank=True, null=True) ans4B = models.StringField(blank=True, null=True) ans4C = models.StringField(blank=True, null=True) ans4D = models.StringField(blank=True, null=True) ans4E = models.StringField(blank=True, null=True) ans4F = models.StringField(blank=True, null=True) ans4G = models.StringField(blank=True, null=True) ans4H = models.StringField(blank=True, null=True) ans4I = models.StringField(blank=True, null=True) ans4J = models.StringField(blank=True, null=True) ans4K = models.StringField(blank=True, null=True) ans4L = models.StringField(blank=True, null=True) ans4M = models.StringField(blank=True, null=True) ans4N = models.StringField(blank=True, null=True) ans4O = models.StringField(blank=True, null=True) ans4P = models.StringField(blank=True, null=True) ans4Q = models.StringField(blank=True, null=True) ans4R = models.StringField(blank=True, null=True) ans4S = models.StringField(blank=True, null=True) ans4T = models.StringField(blank=True, null=True) ans4U = models.StringField(blank=True, null=True) ans4V = models.StringField(blank=True, null=True) ans4W = models.StringField(blank=True, null=True) ans4X = models.StringField(blank=True, null=True) ans4Y = models.StringField(blank=True, null=True) ans4Z = models.StringField(blank=True, null=True) def vars_for_admin_report(): ans4A = [ p.ans4A for p in self.get_players() ] ans4B = [ p.ans4B for p in self.get_players() ] ans4C = [ p.ans4C for p in self.get_players() ] ans4D = [ p.ans4D for p in self.get_players() ] ans4E = [ p.ans4E for p in self.get_players() ] ans4F = [ p.ans4F for p in self.get_players() ] ans4G = [ p.ans4G for p in self.get_players() ] ans4H = [ p.ans4H for p in self.get_players() ] ans4I = [ p.ans4I for p in self.get_players() ] ans4J = [ p.ans4J for p in self.get_players() ] ans4K = [ p.ans4K for p in self.get_players() ] ans4L = [ p.ans4L for l in self.get_players() ] ans4M = [ p.ans4M for p in self.get_players() ] ans4N = [ p.ans4N for p in self.get_players() ] ans4O = [ p.ans4O for p in self.get_players() ] ans4P = [ p.ans4P for p in self.get_players() ] ans4Q = [ p.ans4Q for p in self.get_players() ] ans4R = [ p.ans4R for p in self.get_players() ] ans4S = [ p.ans4S for p in self.get_players() ] ans4T = [ p.ans4T for p in self.get_players() ] ans4U = [ p.ans4U for p in self.get_players() ] ans4V = [ p.ans4V for p in self.get_players() ] ans4W = [ p.ans4W for p in self.get_players() ] ans4X = [ p.ans4X for p in self.get_players() ] ans4Y = [ p.ans4Y for p in self.get_players() ] ans4Z = [ p.ans4Z for p in self.get_players() ] earning4 = models.CurrencyField(initial=0) if que4A == ans4A: earning4 += 5 if que4B == ans4B: earning4 += 5 if que4C == ans4C: earning4 += 5 if que4D == ans4D: earning4 += 5 if que4E == ans4E: earning4 += 5 if que4F == ans4F: earning4 += 5 if que4G == ans4G: earning4 += 5 if que4H == ans4H: earning4 += 5 if que4I == ans4I: earning4 += 5 if que4J == ans4J: earning4 += 5 if que4K == ans4K: earning4 += 5 if que4L == ans4L: earning4 += 5 if que4M == ans4M: earning4 += 5 if que4N == ans4N: earning4 += 5 if que4O == ans4O: earning4 += 5 if que4P == ans4P: earning4 += 5 if que4Q == ans4Q: earning4 += 5 if que4R == ans4R: earning4 += 5 if que4S == ans4S: earning4 += 5 if que4T == ans4T: earning4 += 5 if que4U == ans4U: earning4 += 5 if que4V == ans4V: earning4 += 5 if que4W == ans4W: earning4 += 5 if que4X == ans4X: earning4 += 5 if que4Y == ans4Y: earning4 += 5 if que4Z == ans4Z: earning4 += 5 #Questions and Answers 5A to 5Z def randomkey5A(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que5A = models.StringField(initial = randomkey5A(5)) def randomkey5B(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que5B = models.StringField(initial = randomkey5B(5)) def randomkey5C(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que5C = models.StringField(initial = randomkey5C(5)) def randomkey5D(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que5D = models.StringField(initial = randomkey5D(5)) def randomkey5E(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que5E = models.StringField(initial = randomkey5E(5)) def randomkey5F(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que5F = models.StringField(initial = randomkey5F(5)) def randomkey5G(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que5G = models.StringField(initial = randomkey5G(5)) def randomkey5H(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que5H = models.StringField(initial = randomkey5H(5)) def randomkey5I(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que5I = models.StringField(initial = randomkey5I(5)) def randomkey5J(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que5J = models.StringField(initial = randomkey5J(5)) def randomkey5K(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que5K = models.StringField(initial = randomkey5K(5)) def randomkey5L(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que5L = models.StringField(initial = randomkey5L(5)) def randomkey5M(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que5M = models.StringField(initial = randomkey5M(5)) def randomkey5N(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que5N = models.StringField(initial = randomkey5N(5)) def randomkey5O(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que5O = models.StringField(initial = randomkey5O(5)) def randomkey5P(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que5P = models.StringField(initial = randomkey5P(5)) def randomkey5Q(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que5Q = models.StringField(initial = randomkey5Q(5)) def randomkey5R(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que5R = models.StringField(initial = randomkey5R(5)) def randomkey5S(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que5S = models.StringField(initial = randomkey5S(5)) def randomkey5T(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que5T = models.StringField(initial = randomkey5T(5)) def randomkey5U(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que5U = models.StringField(initial = randomkey5U(5)) def randomkey5V(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que5V = models.StringField(initial = randomkey5V(5)) def randomkey5W(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que5W = models.StringField(initial = randomkey5W(5)) def randomkey5X(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que5X = models.StringField(initial = randomkey5X(5)) def randomkey5Y(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que5Y = models.StringField(initial = randomkey5Y(5)) def randomkey5Z(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) que5Z = models.StringField(initial = randomkey5Z(5)) #Answer forms ans5A = models.StringField(blank=True, null=True) ans5B = models.StringField(blank=True, null=True) ans5C = models.StringField(blank=True, null=True) ans5D = models.StringField(blank=True, null=True) ans5E = models.StringField(blank=True, null=True) ans5F = models.StringField(blank=True, null=True) ans5G = models.StringField(blank=True, null=True) ans5H = models.StringField(blank=True, null=True) ans5I = models.StringField(blank=True, null=True) ans5J = models.StringField(blank=True, null=True) ans5K = models.StringField(blank=True, null=True) ans5L = models.StringField(blank=True, null=True) ans5M = models.StringField(blank=True, null=True) ans5N = models.StringField(blank=True, null=True) ans5O = models.StringField(blank=True, null=True) ans5P = models.StringField(blank=True, null=True) ans5Q = models.StringField(blank=True, null=True) ans5R = models.StringField(blank=True, null=True) ans5S = models.StringField(blank=True, null=True) ans5T = models.StringField(blank=True, null=True) ans5U = models.StringField(blank=True, null=True) ans5V = models.StringField(blank=True, null=True) ans5W = models.StringField(blank=True, null=True) ans5X = models.StringField(blank=True, null=True) ans5Y = models.StringField(blank=True, null=True) ans5Z = models.StringField(blank=True, null=True) def vars_for_admin_report(): ans5A = [ p.ans5A for p in self.get_players() ] ans5B = [ p.ans5B for p in self.get_players() ] ans5C = [ p.ans5C for p in self.get_players() ] ans5D = [ p.ans5D for p in self.get_players() ] ans5E = [ p.ans5E for p in self.get_players() ] ans5F = [ p.ans5F for p in self.get_players() ] ans5G = [ p.ans5G for p in self.get_players() ] ans5H = [ p.ans5H for p in self.get_players() ] ans5I = [ p.ans5I for p in self.get_players() ] ans5J = [ p.ans5J for p in self.get_players() ] ans5K = [ p.ans5K for p in self.get_players() ] ans5L = [ p.ans5L for l in self.get_players() ] ans5M = [ p.ans5M for p in self.get_players() ] ans5N = [ p.ans5N for p in self.get_players() ] ans5O = [ p.ans5O for p in self.get_players() ] ans5P = [ p.ans5P for p in self.get_players() ] ans5Q = [ p.ans5Q for p in self.get_players() ] ans5R = [ p.ans5R for p in self.get_players() ] ans5S = [ p.ans5S for p in self.get_players() ] ans5T = [ p.ans5T for p in self.get_players() ] ans5U = [ p.ans5U for p in self.get_players() ] ans5V = [ p.ans5V for p in self.get_players() ] ans5W = [ p.ans5W for p in self.get_players() ] ans5X = [ p.ans5X for p in self.get_players() ] ans5Y = [ p.ans5Y for p in self.get_players() ] ans5Z = [ p.ans5Z for p in self.get_players() ] earning5 = models.CurrencyField(initial=0) if que5A == ans5A: earning5 += 5 if que5B == ans5B: earning5 += 5 if que5C == ans5C: earning5 += 5 if que5D == ans5D: earning5 += 5 if que5E == ans5E: earning5 += 5 if que5F == ans5F: earning5 += 5 if que5G == ans5G: earning5 += 5 if que5H == ans5H: earning5 += 5 if que5I == ans5I: earning5 += 5 if que5J == ans5J: earning5 += 5 if que5K == ans5K: earning5 += 5 if que5L == ans5L: earning5 += 5 if que5M == ans5M: earning5 += 5 if que5N == ans5N: earning5 += 5 if que5O == ans5O: earning5 += 5 if que5P == ans5P: earning5 += 5 if que5Q == ans5Q: earning5 += 5 if que5R == ans5R: earning5 += 5 if que5S == ans5S: earning5 += 5 if que5T == ans5T: earning5 += 5 if que5U == ans5U: earning5 += 5 if que5V == ans5V: earning5 += 5 if que5W == ans5W: earning5 += 5 if que5X == ans5X: earning5 += 5 if que5Y == ans5Y: earning5 += 5 if que5Z == ans5Z: earning5 += 5