这是一个猪骰子游戏,我使用了 2 种策略,目标是达到 63 分。
所以我得到了一个函数play_games(n_games, strategy_a, strategy_b)
。(看代码的底部)这个函数必须玩n_games,在这个玩家A必须使用strategy_a,玩家B必须使用strategy_b(两个参数都是字符串)。并且该函数必须返回带有键“A”、“B”和“D”的字典,其中的值表示 A 和 B 获胜的频率以及平局的次数。
我已经试了两天了,什么都想不出来,好想学这个。
这是我到目前为止得到的:
from random import randint
def one_round(total, strategy):
round = 0
while True:
value = randint(1,6)
round = round + value
if Value == 1:
round = 0
break
if round + total >= 63:
break
if strategy == 'Sum13':
if round >= 13:
break
if strategy == 'Sum6':
if round >= 6:
break
return round
def one_game(strategy_a, strategy_b):
total_a = 0
total_b = 0
while True:
round_a = one_round(total_a, strategy_a)
round_b = one_round(total_b, strategy_b)
total_a += round_a
total_b += round_b
while total_a >= 63 or total_b >=63:
break
if total_a >= 63:
return 'A'
elif total_b >= 63:
return 'B'
elif total_a == total_b:
return 'D'
def play_games(n_games, strategy_a, strategy_b):
n_games = 100
for i in range(n_games):