Python循环-使用骰子确定盒式车
我需要写一个程序,将计算出需要多少辊辊箱车(6+6) 我在点名时绊倒了。我无法让函数循环通过计数器并将滚动计数返回主程序。这就是我目前所拥有的Python循环-使用骰子确定盒式车,python,function,loops,while-loop,dice,Python,Function,Loops,While Loop,Dice,我需要写一个程序,将计算出需要多少辊辊箱车(6+6) 我在点名时绊倒了。我无法让函数循环通过计数器并将滚动计数返回主程序。这就是我目前所拥有的 import random roundCounter = 0 rollCounter = 0 def roll(die1,die2): nRolls = 0 print(die1, die2) # for testing purpose only while True: nRolls += 1
import random
roundCounter = 0
rollCounter = 0
def roll(die1,die2):
nRolls = 0
print(die1, die2) # for testing purpose only
while True:
nRolls += 1
if die1 == 6 and die2 == 6:
break
return nRolls
while True:
roundCounter += 1
die1 = random.randrange(1, 7)
die2 = random.randrange(1, 7)
roll(die1,die2)
print('Round #', roundCounter, 'took', rollCounter, 'rolls')
roll_again = input('Press Enter to go again, or q to quit:')
if roll_again == 'q':
break
我能输出圆形计数器。下面是一个例子
3 6
Round # 1 took 0 rolls
Press Enter to go again, or q to quit:
5 4
Round # 2 took 0 rolls
Press Enter to go again, or q to quit:
4 6
Round # 3 took 0 rolls
Press Enter to go again, or q to quit:
6 5
Round # 4 took 0 rolls
Press Enter to go again, or q to quit:
5 5
Round # 5 took 0 rolls
Press Enter to go again, or q to quit:
3 2
Round # 6 took 0 rolls
Press Enter to go again, or q to quit:
6 4
Round # 7 took 0 rolls
Press Enter to go again, or q to quit:
关于我遗漏的内容有什么想法吗?函数循环中有两个致命问题:
while True:
nRolls += 1
if die1 == 6 and die2 == 6:
break
return nRolls
第一个是在第一次lop迭代时返回,而不是等待boxcars出现
第二,你没有重新掷骰子die1
和die2
被传递到函数中,函数有效地将它们视为常量:您永远不会更改它们。除非您碰巧通过了一对6
s,否则您将遇到第一个return
(第一个问题)
作为一个人,您需要完成完成这项工作的过程,并更加小心地使代码匹配