首页 > 解决方案 > while 循环是否会重新运行随机数生成器?

问题描述

好的,我看了又看,找不到我的问题的答案。这是我的 Python 课程第 2 周开始的基本掷骰子游戏,虽然我的脚本工作得很好,但是当我放它时,我遇到了随机 6 面掷骰子重复自身(或陷入似乎是一个循环)的问题在while循环之前。在 While 循环中插入随机骰子后,我似乎已经解决了这个问题,并且 While 循环有助于随机化。我的假设是否正确?

while True:
DoWeRunIt = input('Do you roll the dice?')
#setup random numbers for dice roll
die1 = random.randint(1,6)
die2 = random.randint(1,6)
die12 = die1 + die2
try:
    RunIt = int(DoWeRunIt)
    if RunIt == 1:
        if die1 == 1 and die2 == 1:
            print('A ' + str(die1) + ' and a ' + str(die2) + ' - Snake Eyes')

标签: python-3.x

解决方案


die1 = random.randint(1,6)不会创建“模具操作员”。它只生成一个介于 1 和 6 之间的数字。因此,如果将其放在 while 循环之前,它将保持该值。当你把它放在 while 循环中时,每次迭代都会生成一个新值。


推荐阅读