python没有';t在main方法中更新int
我对python非常陌生,我正在尝试掌握一些窍门。这是一个非常简单和明显的问题,但我不知道答案。无论如何,我将首先发布代码:python没有';t在main方法中更新int,python,int,main,Python,Int,Main,我对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)
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()
中的code>number与randomNumber()
函数中的number
不同
您的randomNumber()
函数确实返回了一个新值;将其分配回main()中的number
:
由于在将number
的原始值传递到randomNumber()
时忽略了该值,因此可以完全删除这些参数:
def randomNumber():
number = random.randint(1,10)
print(number)
return number
def main():
number = randomNumber()
print(number)
if __name__=='__main__':
main()
不能在另一个函数中更改局部变量<main()
中的code>number
与randomNumber()
函数中的number
不同
您的randomNumber()
函数确实返回了一个新值;将其分配回main()中的number
:
由于在将number
的原始值传递到randomNumber()
时忽略了该值,因此可以完全删除这些参数:
def randomNumber():
number = random.randint(1,10)
print(number)
return number
def main():
number = randomNumber()
print(number)
if __name__=='__main__':
main()
为什么你要传递数字而不使用它?@padraiccnningham在我的实际程序中我使用它,这只是一个例子下面的答案是最好的方法,但如果你想增加数字,你可以number+=randomNumber(number)
为什么你传递数字而不使用它?@padraiccnningham在我的实际程序中我使用它,这只是一个例子下面的答案是最好的方法,但是如果你想增加数字,你可以number+=randomNumber(number)
@padraiccnningham:啊,就是这样;OP在main()
@padraiccnningham:ah中把它拼错了,的确如此;OP在main()
中拼写错误。