我有一个全局变量 foo
. 我正在使用一个函数将一个数字(作为参数发送到函数中)添加到到 foo
. 我第一次调用这个函数时,它运行得很好,但第二次运行时,它只给我初始值和 foo
和作为参数传递的数字。我是python新手,以下是我的代码。
foo = 5
def add_number_to_foo(num):
global foo
return foo + num
add_number_to_foo(5) # returns 10 which is fine
add_number_to_foo(6) # returns 11, I should have got 16
我是python的新手,如果问题不懂,请原谅。谢谢。
你的代码的问题是,无论你返回的是什么,都没有设置回变量 foo
. 以下代码应该可以解决你的问题。
foo = 5
def add_number_to_foo(num):
global foo
return foo + num
foo = add_number_to_foo(5) # returns 10 which is fine
print(foo) # prints 10
foo = add_number_to_foo(6) # returns 11, I should have got 16
print(foo) # prints 16
我做了下面的工作 根据@learner的评论。
foo = 5
def add_number_to_foo(num):
global foo
foo = foo + num
return foo
add_number_to_foo(5) # returns 10
add_number_to_foo(6) # returns 16
从现在开始,我已经将变量分配给了 foo
它工作得很好。