Python循环-使用骰子确定盒式车

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

我需要写一个程序,将计算出需要多少辊辊箱车(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
        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
(第一个问题)

作为一个人,您需要完成完成这项工作的过程,并更加小心地使代码匹配