我是编程新手,特别是 python,我在做作业时遇到了问题。
这是问题所在:
掷骰子是在五月赌场玩的基于骰子的游戏。像二十一点一样,玩家与庄家对战。游戏从玩家投掷一对标准的六面骰子开始。如果玩家总共掷出 7 或 11,则玩家获胜。如果玩家总共掷出 2、3 或 12,则玩家输。对于所有其他掷骰值,玩家将重复掷这对骰子,直到她再次掷出初始值(在这种情况下她赢)或 7(在这种情况下她输了)
实现以正整数 n 作为输入的函数 testCraps(),模拟 n 次掷骰子游戏,并返回玩家赢得的游戏分数。
>>> testCraps(1000)
0.4844
>>> testCraps(1000)
0.492
这是我到目前为止所拥有的:
import random
def roll():
dice = (random.randrange(1,7) + random.randrange (1,7))
return dice
def testCraps(n):
dice = roll()
total = 0
count = 0
for i in range (n):
total = total + 1
if dice == 2 or dice == 3 or dice == 12:
count = count + 0
elif dice == 7 or dice == 11:
count += 1
else:
dice1 = roll()
while dice1 != 7 or dice1 != dice:
if dice1 == 7:
count = count + 0
elif dice1 == dice:
count += 1
else:
dice1 = roll()
return(float(count/total))
我错过了什么吗?任何提示将不胜感激!