我希望这个 while 循环在每次迭代时更改数字(包括计数和随机整数。)但是当我运行程序时,循环只是在计数和随机整数上使用相同的数字。:
# if 4 sides
die1 = random.randint(1,4)
die2 = random.randint(1,4)
count = 1
while sides == 4 and die1 != die2:
print (count, ". die number 1 is", die1, "and die number 2 is", die2,".")
count == count + 1
print ("You got snake eyes! Finally! On try number", count,".")
请您参考如下方法:
每次您调用 random.randint(1,4) 时,您都会创建一个随机数。每当您打印它时,它都不会神奇地变成一个新的随机数。
在 while 循环中使用 random.randint(1, 4) 生成新的随机数。
第二个问题是 count == count + 1 检查是否相等(在您的情况下返回 False)。要进行赋值,请使用赋值运算符 = 或 count += 1 将 count 递增 1。
如果你想要一个不断吐出随机数的生成器,写一个:
>>> import random
>>> def rng(i, j):
... while True:
... yield random.randint(i, j)
...
>>> random_gen = rng(1, 4)
>>> next(random_gen)
2
>>> next(random_gen)
3
>>> next(random_gen)
2
>>> next(random_gen)
2
>>> next(random_gen)
1
