我试图访问我的函数中的计数器变量,为什么它不起作用,我该如何解决它?
相关代码:
sum = 0
counter = 0
def newFibo(a, b) :
if(counter > 4000000) :
return
c = a + b
sum += c
counter +=1
newFibo(b,c)
newFibo(1,2)
print(sum)
错误:"本地变量'计数器'在分配之前引用"
答案 0 :(得分:0)
您需要使用关键字global
告诉python变量在当前函数之外。
所以,基本上,在global sum, counter
之后添加def newFibo(a, b):
。
答案 1 :(得分:0)
在Python中,如果你想在函数中修改一个全局变量,你必须在函数内声明它为global
:
def newFibo(a, b) :
global counter, sum
..............
请注意,如果变量仅在函数内部读取但未修改,则不需要它。