我正在尝试创建代码,以模拟滚动模具。我希望代码在滚动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
int是不可变的,因此将0传递给函数和设置die1不会更改原始对象,它会创建一个新对象。

关于python - 比较int的变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29738145/

10-11 16:16