我正在尝试创建模拟骰子滚动的代码.我希望代码在滚动1时停止,但我的程序在滚动该模具时保持正确.
import random
def rollDie(die):
die = random.randint(1,6)
print(die)
die1 = 0
while die1 != 1:
rollDie(die1)
我的怀疑是我的代码正在比较1的对象ID和die1的对象ID.据我所知,“!=“是适当的“不等于”比较运算符.
那么,我在做什么错呢?我该如何比较变量的值与其对象ID的相对值?
解决方法:
您需要更新die1的值,使用函数的最简单方法是返回函数并将返回值分配给die1:
def rollDie():
return random.randint(1,6)
die1 = 0
while die1 != 1:
die1 = rollDie()
print(die1)
die1 = rollDie()将在循环中每次更新,您的代码始终将die1保持为初始值0.
int是不可变的,因此将die1传递给函数并设置die = random.randint(1,6)不会更改原始对象,它会创建一个新对象.