gpt4 book ai didi

python - 模拟掷骰子游戏

转载 作者:太空宇宙 更新时间:2023-11-03 12:49:17 25 4
gpt4 key购买 nike

我正在尝试实现一个函数 craps(),它不接受任何参数,模拟一场掷骰子游戏,如果玩家赢了则返回 1 并且 0 如果玩家输了。

游戏规则:游戏从玩家掷一对骰子开始。如果玩家总共掷出 7 或 11,则玩家获胜。如果玩家掷出的总数为 2,3 或 12,则玩家输了。对于所有其他掷骰值,游戏继续进行,直到玩家再次掷出初始值(在这种情况下玩家获胜)或 7(在这种情况下玩家输)。

我想我越来越接近了,但我还没有,我认为我的 while 循环还没有正常工作。这是我到目前为止得到的代码:

def craps():
dice = random.randrange(1,7) + random.randrange(1,7)
if dice in (7,11):
return 1
if dice in (2,3,12):
return 0
newRoll = craps()
while newRoll not in (7,dice):
if newRoll == dice:
return 1
if newRoll == 7:
return 0

如何修复 while 循环?我真的找不到它的问题,但我知道它是错误的或不完整的。

最佳答案

因为这一行,你永远不会进入 while 循环:

newRoll = craps()   

就到此为止吧。所以它只会执行 craps() 函数的顶部部分。您只需要使用之前的相同角色代码即可。我想你想要这样的东西:

newRoll = random.randrange(1,7) + random.randrange(1,7)
while newRoll not in (7,dice):
newRoll = random.randrange(1,7) + random.randrange(1,7)

if newRoll == dice:
return 1
if newRoll == 7:
return 0

关于python - 模拟掷骰子游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16699893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com