Python 比较int的变量

Python 比较int的变量,python,python-3.x,compare,Python,Python 3.x,Compare,我正在尝试创建模拟掷骰子的代码。我希望代码在滚动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 您需要更

我正在尝试创建模拟掷骰子的代码。我希望代码在滚动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()


int是不可变的,因此将
die1
传递给函数并设置
die=random。randint(1,6)
不会更改原始对象,它会创建一个新对象。

何时更新
die1
?它始终保持
0