Python 不会在 main 方法中更新 int



我对python很陌生,我正在努力掌握窍门。这是一个非常简单明了的问题,但我不知道答案。无论如何,我将首先发布代码:

import pygame,sys
import random
number = 0
def randomNumber(number):
    number = random.randint(1,10)
    print(number)
    return(number)
def main(number):
    randomNumber(number)
    print(number)
if __name__=='__main__':
    main(number)

如果我运行这个程序,打印出来的第一个数字总是从 1 到 10 的数字,但第二个数字始终为零。我不希望这样,我希望第二个数字与第一个数字相同。我该怎么做?那么我怎样才能成功更新这个int呢?

您不能更改另一个函数中的局部变量; main()中的number不同于randomNumber()函数中的number

您的randomNumber()函数确实返回一个新值;将其赋回main()中的number

def main(number):
    number = randomNumber(number)
    print(number)

由于您在将number传递给randomNumber()时会忽略其原始值,因此您可以完全删除参数:

def randomNumber():
    number = random.randint(1,10)
    print(number)
    return number
def main():
    number = randomNumber()
    print(number)
if __name__=='__main__':
    main()

相关内容

  • 没有找到相关文章

最新更新