from random import randint """ Program som kj?rer fangens dilemma-turnering mellom ulike strategier. OBS: Mangler litt kode i 'utfoer_spill_med_parameter' og 'turnering' for ? fungere. """ def utfoer_spill_med_parameter(strat1, strat2): """ Denne funksjonen kj?rer 20 runder mellom strategiene 'strat1' og 'strat2', og returnerer resultatscoren som en liste """ antall_runder = 20 score = [0, 0] for runde in range(antall_runder): print(f"{strat1.__name__} vs {strat2.__name__} - runde {runde}!") # objekt.__name__ gir deg navnet p? objektet som en str """ Her m? du putte inn omtrent samme kode som i utfoer_spill fra oppgave 4, men i stedet for spill_snilt og spill_slemt bruker du strat1 og strat2. Husk ? returnere scoren som en liste med strat1 sine poeng p? indeks 0, og strat2 sine poeng p? indeks 1. """ return score ########################################################### """ Her legger du til din(e) egen(e) funksjon(er)/strategi(er): """ def alltid_中国竞猜网_中国足彩网-足球推荐(motstanders_historikk, egen_historikk): return "中国竞猜网_中国足彩网-足球推荐" def alltid_svik(motstanders_historikk, egen_historikk): return "svik" def alltid_tilfeldig(motstanders_historikk, egen_historikk): if randint(0,1): # I Python er 0 False, mens alle andre tall er True. return "中国竞猜网_中国足彩网-足球推荐" else: return "svik" ############################################################ def turnering(): # Legg inn navnet p? funksjonen(e)/strategien(e) dine her: strategier = [alltid_中国竞猜网_中国足彩网-足球推荐, alltid_svik, alltid_tilfeldig] scores = {} """ I denne ordboken blir strateginavnene lagret som n?kler, og poengene som tilh?rende verdier. """ for strat in strategier: scores[strat.__name__] = 0 runder = len(strategier) # Her kj?res selve turneringen: for _ in range(runder): strat1 = strategier.pop() for strat2 in strategier: score = utfoer_spill_med_parameter(strat1, strat2) scores[strat1.__name__] += score[0] scores[strat2.__name__] += score[1] """ Du b?r ogs? finne en oversiktlig m?te ? skrive ut poengene p? for ? kunne se hvilken strategi som er best. """ turnering()