比较int的变量

时间:2015-04-20 01:54:17

标签: 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 个答案:

答案 0 :(得分:3)

你需要更新die1的值,使用你的函数的最简单方法是返回函数并将返回值赋给die1:

def rollDie():
    return random.randint(1,6)

die1 = 0

while die1 != 1:
    die1 = rollDie()
    print(die1)

die1 = rollDie()每次都会在循环中更新,您的代码始终会die1保持其初始值0

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