比较 int 的变量



我正在尝试创建模拟掷骰子的代码。我希望代码在掷出 1 时停止,但我的程序一直在掷骰子。

import random
def rollDie(die):
    die = random.randint(1,6)
    print(die)
die1 = 0
while die1 != 1:
    rollDie(die1)

我怀疑我的代码正在比较对象 Id 1 和对象 Id die1。据我所知,"!="是适当的"不等于"比较运算符。

那么我做错了什么,我如何比较变量的值而不是他们的对象 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)不会更改原始对象,它会创建一个新对象。

相关内容

  • 没有找到相关文章

最新更新