python-比较int变量

我正在尝试创建模拟骰子滚动的代码.我希望代码在滚动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)不会更改原始对象,它会创建一个新对象.

上一篇:理解C++类 this 指针的例子


下一篇:如何提高 PHP 代码的质量?第三:端到端 / 集成测试