使用计数器在 python 中进行掷骰子游戏,但不会超过 1
Making a craps game in python using a counter, but it won't count past 1
我把它编辑下来了。 testCraps(number) 所做的是调用一个名为 quietCraps() 的函数,该函数 returns 1 表示获胜,0 表示失败。 testCraps(number) 应该 运行 quietCraps() 的次数等于 (number),如果 1 为 returned,则向 winCoutner 加 1,如果 0 为 [=],则向 lossCounter 加 1 20=]编辑。
def testCraps(number):
winCounter = 0
lossCounter = 0
for test in range(number):
testGame = quietCraps(value1 = 1)
if str(test) == "1":
winCounter = winCounter + 1
elif str(test) == "0":
lossCounter = lossCounter + 1
print("The amount of wins is " + str(winCounter))
print("The amount of losses is " + str(lossCounter))
澄清一下,赢了会 return 1,输了会 return 0。我知道 testCraps(number) 中的计数器正在计数,但它只会上升两个计数器都为 1。例如:
testCraps(5)
0
1
1
1
1
The amount of wins is 1
The amount of losses is 1
我相信答案很简单,但我不知所措。谁能帮我?如果我的 post 做错了什么,我很抱歉。这是我第一次在这里提问。
for test in range(number):
testGame = quietCraps(value1 = 1)
if str(test) == "1":
winCounter = winCounter + 1
elif str(test) == "0":
lossCounter = lossCounter + 1
这里,winCounter
在test == 1
时递增。这种情况发生一次,因为 for 循环刚刚从 0
上升到 number
,因此两个计数器的结果都是 1。您是否正在尝试检查 testGame
?它的值为 None
因为 quietcraps()
returns 什么都没有。
def quietCraps():
crapsTotal = craps(2)
return crapsTotal
这样 quietCraps()
returns 一个值,可以检查。此外,不需要 value1
参数,因为它未被使用。同样不用写craps(value1 = 2
,直接写craps(2)
for test in range(number):
testGame = quietCraps(value1 = 1)
if testGame == 1:
winCounter = winCounter + 1
elif testGame == 0:
lossCounter = lossCounter + 1
无需将结果转换为字符串,只需检查数字是否匹配。
P.S
if value1 == 1 == True:
只需将此更改为 if value1 == 1
。无需检查是否为真,因为 它正在检查的就是这个!
我把它编辑下来了。 testCraps(number) 所做的是调用一个名为 quietCraps() 的函数,该函数 returns 1 表示获胜,0 表示失败。 testCraps(number) 应该 运行 quietCraps() 的次数等于 (number),如果 1 为 returned,则向 winCoutner 加 1,如果 0 为 [=],则向 lossCounter 加 1 20=]编辑。
def testCraps(number):
winCounter = 0
lossCounter = 0
for test in range(number):
testGame = quietCraps(value1 = 1)
if str(test) == "1":
winCounter = winCounter + 1
elif str(test) == "0":
lossCounter = lossCounter + 1
print("The amount of wins is " + str(winCounter))
print("The amount of losses is " + str(lossCounter))
澄清一下,赢了会 return 1,输了会 return 0。我知道 testCraps(number) 中的计数器正在计数,但它只会上升两个计数器都为 1。例如:
testCraps(5)
0
1
1
1
1
The amount of wins is 1
The amount of losses is 1
我相信答案很简单,但我不知所措。谁能帮我?如果我的 post 做错了什么,我很抱歉。这是我第一次在这里提问。
for test in range(number):
testGame = quietCraps(value1 = 1)
if str(test) == "1":
winCounter = winCounter + 1
elif str(test) == "0":
lossCounter = lossCounter + 1
这里,winCounter
在test == 1
时递增。这种情况发生一次,因为 for 循环刚刚从 0
上升到 number
,因此两个计数器的结果都是 1。您是否正在尝试检查 testGame
?它的值为 None
因为 quietcraps()
returns 什么都没有。
def quietCraps():
crapsTotal = craps(2)
return crapsTotal
这样 quietCraps()
returns 一个值,可以检查。此外,不需要 value1
参数,因为它未被使用。同样不用写craps(value1 = 2
,直接写craps(2)
for test in range(number):
testGame = quietCraps(value1 = 1)
if testGame == 1:
winCounter = winCounter + 1
elif testGame == 0:
lossCounter = lossCounter + 1
无需将结果转换为字符串,只需检查数字是否匹配。
P.S
if value1 == 1 == True:
只需将此更改为 if value1 == 1
。无需检查是否为真,因为 它正在检查的就是这个!