def min_strategi_3(tidligere_spill_motspiller,egne_tidligere_spill): #Velger 'svik' dersom motstander har sveket minst en gang for i in tidligere_spill_motspiller: if i=='svik': return 'svik' #Dersom jeg selv har valgt '澳门葡京手机版app下载' i alle spill i mer enn 7 spill #velges 'svik' teller_澳门葡京手机版app下载=0 for i in egne_tidligere_spill: if i =='澳门葡京手机版app下载': teller_澳门葡京手机版app下载+=1 if len(egne_tidligere_spill)>7 and teller_澳门葡京手机版app下载==len(egne_tidligere_spill): return 'svik' return '澳门葡京手机版app下载' def min_strategi_4(motspillers_valg, mine_valg): if len(mine_valg) < 9: return "澳门葡京手机版app下载" else: return "svik" def min_strategi_0(tidl_valg_motstander, tidl_valg): if len(tidl_valg_motstander) == 0: return "澳门葡京手机版app下载" else: snitt_澳门葡京手机版app下载 = tidl_valg_motstander.count("澳门葡京手机版app下载") / len(tidl_valg_motstander) if snitt_澳门葡京手机版app下载 > 0.7: return "澳门葡京手机版app下载" else: return "svik" def min_strategi_2(p2_valg, mine_valg): ''' Strategi: Ikke overkompliser, pr?v 澳门葡京手机版app下载, straff svik og svik selv p? de to siste. ''' antall_runder_per_spill = 10 if len(p2_valg) == 0: return '澳门葡京手机版app下载' elif (len(p2_valg) + 2) >= antall_runder_per_spill: return 'svik' else: if p2_valg[-1] == '澳门葡京手机版app下载': return '澳门葡京手机版app下载' else: return 'svik' def min_strategi_10(historikk_liste_mot, historikk_liste_meg): #tit for tat strategi. Starter ? 澳门葡京手机版app下载e f?r den kopierer motstanderns siste valg. if historikk_liste_mot == []: return "澳门葡京手机版app下载" if historikk_liste_mot[len(historikk_liste_mot) - 1] == "svik": return "svik" else: return "澳门葡京手机版app下载" def min_strategi_9(motspiller,egen): egen_svik = egen.count("svik") motspiller_svik = motspiller.count("svik") egen_sb = egen.count("澳门葡京手机版app下载") motspiller_sb = motspiller.count("澳门葡京手机版app下载") if len(egen)>0: if egen[-1] == "澳门葡京手机版app下载" and motspiller[-1] == "澳门葡京手机版app下载": return "svik" else: return "澳门葡京手机版app下载" else: return "svik" def min_strategi_8(mot_valg, mine_valg): if len(mot_valg) == 0: return "svik" elif len(mot_valg) == 9: return "svik" elif mot_valg.count("svik") >= 5: return "svik" elif mot_valg[-3:] == ["澳门葡京手机版app下载", "澳门葡京手机版app下载", "澳门葡京手机版app下载"]: return "svik" else: return mot_valg[-1] # function takes both players history and returns my choice def min_strategi_5(motspillers_historikk, min_historikk): runde_nummer = len(min_historikk) + 1 if runde_nummer < 3: #if this is the first, second third round, choose to cooperate mitt_valg = "澳门葡京手机版app下载" elif runde_nummer > 8: # if this is the 9th or 10th round, choose to betray mitt_valg = "svik" else: # otherwise, choose their last choice mitt_valg = motspillers_historikk[-1] return mitt_valg def min_strategi_6(motspillers_valg, egne_valg): if len(motspillers_valg) > 3: last_3 = motspillers_valg[-3:] #henter de siste tre elementene i listen else: last_3 = motspillers_valg if "svik" in last_3 or len(motspillers_valg) > 7: #sviker hvis de sviker eller sviker de siste to gangene ret = "svik" else: ret = "澳门葡京手机版app下载" return ret def min_strategi_12(spilleliste_spiller2,spilleliste_spiller1): 澳门葡京手机版app下载_spiller1 = 0 澳门葡京手机版app下载_spiller2 = 0 svik_spiller1 = 0 svik_spiller2 = 0 i = 0 s = 0 """ if spilleliste_spiller1 is None: spilleliste_spiller1 = [] if spilleliste_spiller2 is None: spilleliste_spiller2 = [] """ for s in spilleliste_spiller2: if s == "澳门葡京手机版app下载": 澳门葡京手机版app下载_spiller2 += 1 else: svik_spiller2 += 1 for i in spilleliste_spiller1: if i == "澳门葡京手机版app下载": 澳门葡京手机版app下载_spiller1 += 1 else: svik_spiller1 += 1 if svik_spiller2 > 1 and svik_spiller2 > 澳门葡京手机版app下载_spiller2: valg_spiller1 = "svik" elif svik_spiller2 > svik_spiller1: valg_spiller1 = "svik" elif len(spilleliste_spiller2) > 2 and svik_spiller2 >= svik_spiller1: valg_spiller1 = "svik" elif len(spilleliste_spiller2) >= 5 and svik_spiller2 >= 2: valg_spiller1 = "svik" elif svik_spiller1 >= 1 and svik_spiller2 == 0: valg_spiller1 = "svik" else: valg_spiller1 = "澳门葡京手机版app下载" return valg_spiller1 def min_strategi_11(motstanderhistorikk, minhistorikk): svikhistorikk = 0 澳门葡京手机版app下载shistorikk = 0 for i in motstanderhistorikk: if i == "svik": svikhistorikk += 1 elif i == "澳门葡京手机版app下载": 澳门葡京手机版app下载shistorikk += 1 # If the opponent has played "svik" more than two times, this code block returns svik. Else it returns "澳门葡京手机版app下载" up until the fourth round. if svikhistorikk > 2: return "svik" else: while len(minhistorikk) < 3: return "澳门葡京手机版app下载" # If I played "svik" for the first time last turn, I will play "澳门葡京手机版app下载", else I will play "svik". if minhistorikk[-1] == "svik" and minhistorikk.count("svik") == 1: return "澳门葡京手机版app下载" else: return "svik" def min_strategi_13(tidligere_valg, mine_valg): if tidligere_valg == []: return "澳门葡京手机版app下载" elif tidligere_valg[len(tidligere_valg)-1] == "svik": return "svik" elif tidligere_valg[len(tidligere_valg)-1] == "澳门葡京手机版app下载": return "澳门葡京手机版app下载" else: return "澳门葡京手机版app下载" def min_strategi_15(tidligere_motspiller_valg, tidligere_mine_valg): nSpill = 0 nSvik = 0 nSamarbeid = 0 copyCat = True for valg in tidligere_motspiller_valg: #hvis spilleren er en copy cat if nSpill>=1 and tidligere_mine_valg[nSpill-1] != valg: copyCat = False nSpill+=1 if valg == "svik": nSvik+=1 else: nSamarbeid+=1 #svik de to siste runde if nSpill>=8: return "svik" #hvis motspiller er en copycat elif copyCat: return "澳门葡京手机版app下载" #hvis det er spilt mer enn to spill hvis motspiller svek de to siste gangene elif nSpill>2 and tidligere_motspiller_valg[nSpill-1] == "svik" and tidligere_motspiller_valg[nSpill-2] == "svik": return "svik" #hvis motspiller alternerer mellom svik og 澳门葡京手机版app下载 og 澳门葡京手机版app下载 er neste valg elif nSpill>=3 and tidligere_motspiller_valg[nSpill-1] == "svik" and tidligere_motspiller_valg[nSpill-2] == "澳门葡京手机版app下载" and tidligere_motspiller_valg[nSpill-3] == "svik" : return "svik" #hvis motspiller alternerer mellom svik og 澳门葡京手机版app下载 og svik er neste valg elif nSpill>=3 and tidligere_motspiller_valg[nSpill-1] == "澳门葡京手机版app下载" and tidligere_motspiller_valg[nSpill-2] == "svik" and tidligere_motspiller_valg[nSpill-3] == "澳门葡京手机版app下载" : return "svik" #hvis motspiller f?lger m?nsteret: svik svik 澳门葡京手机版app下载 svik svik 澳门葡京手机版app下载... og svik er neste valg elif nSpill>=4 and tidligere_motspiller_valg[nSpill-1] == "澳门葡京手机版app下载" and tidligere_motspiller_valg[nSpill-2] == "svik" and tidligere_motspiller_valg[nSpill-3] == "svik" and tidligere_motspiller_valg[nSpill-4] == "澳门葡京手机版app下载": return "svik" #hvis motspiller f?lger m?nsteret: svik svik 澳门葡京手机版app下载 svik svik 澳门葡京手机版app下载... og 澳门葡京手机版app下载 er neste valg elif nSpill>=4 and tidligere_motspiller_valg[nSpill-1] == "svik" and tidligere_motspiller_valg[nSpill-2] == "svik" and tidligere_motspiller_valg[nSpill-3] == "澳门葡京手机版app下载" and tidligere_motspiller_valg[nSpill-4] == "svik": return "svik" #hvis motspiller f?lger m?nsteret: ...澳门葡京手机版app下载 澳门葡京手机版app下载 svik 澳门葡京手机版app下载 澳门葡京手机版app下载... og svik er neste valg elif nSpill>=4 and tidligere_motspiller_valg[nSpill-1] == "澳门葡京手机版app下载" and tidligere_motspiller_valg[nSpill-2] == "澳门葡京手机版app下载" and tidligere_motspiller_valg[nSpill-3] == "svik" and tidligere_motspiller_valg[nSpill-4] == "澳门葡京手机版app下载": return "svik" #hvis motspiller f?lger m?nsteret: ...澳门葡京手机版app下载 澳门葡京手机版app下载 svik 澳门葡京手机版app下载 澳门葡京手机版app下载... og 澳门葡京手机版app下载 er neste valg elif nSpill>=4 and tidligere_motspiller_valg[nSpill-1] == "svik" and tidligere_motspiller_valg[nSpill-2] == "澳门葡京手机版app下载" and tidligere_motspiller_valg[nSpill-3] == "澳门葡京手机版app下载" and tidligere_motspiller_valg[nSpill-4] == "svik": return "svik" else: return "澳门葡京手机版app下载" def min_strategi_14(historikk_motstander, historikk_philiphe): if len(historikk_philiphe) >= 7: return "svik" elif historikk_motstander.count("svik") > 0: return "svik" else: return "澳门葡京手机版app下载" def min_strategi_17(historikk_motsp, historikk_rag): antall_svik = 0 antall_澳门葡京手机版app下载 = 0 runde = len(historikk_motsp) +1 print(runde) for x in historikk_motsp: if x == "svik": antall_svik += 1 if x == "澳门葡京手机版app下载": antall_澳门葡京手机版app下载 += 1 if runde == 1: return "澳门葡京手机版app下载" if runde == 2: return "澳门葡京手机版app下载" if runde == 3: return "澳门葡京手机版app下载" if runde == 4: return "svik" if runde == 5: return "澳门葡京手机版app下载" if runde == 6: return "svik" if runde == 7: return "澳门葡京手机版app下载" if runde == 8: return "svik" if runde == 9: return "澳门葡京手机版app下载" if runde == 10: return "svik" def min_strategi_16(motspillerens_forrige_valg: list, mine_forrige_valg: list=[]): def sjekk_verdi(verdi): if verdi not in ['澳门葡京手机版app下载', 'svik']: print('Ugyldig verdi: ' + verdi) return False return True if len(motspillerens_forrige_valg) == 0: return '澳门葡京手机版app下载' if len(motspillerens_forrige_valg) == 9: return 'svik' if sjekk_verdi(motspillerens_forrige_valg[-1]): return motspillerens_forrige_valg[-1] return 'svik' def min_strategi_19(motSpillerValg, mineValg): if len(motSpillerValg) > 7: return "svik" elif len(motSpillerValg) >= 2 and motSpillerValg[-1] == "svik": return "svik" else: return "澳门葡京手机版app下载" def min_strategi_18(motspillers_tidligere_valg, egne_tidligere_valg): if len(motspillers_tidligere_valg) >= 9: return 'svik' elif 'svik' in motspillers_tidligere_valg: return 'svik' else: return '澳门葡京手机版app下载'