为什么我的计数器不更新,即使我在每个循环上添加一个?



由于某种原因,我的计数器不更新,即使我在while循环中添加一个?

代码:

counter = 1
def loo(counter):
counter+=1
return counter
while 1:
print(loo(counter))

这是因为函数中的计数器变量是局部的,而不是全局的。因此,它只会在函数内部更新。然而,如果你将函数的值赋给全局计数器,你将实现你想要的。

glob_counter = 1

def loo(local_counter):
local_counter += 1
return local_counter

while 1:
glob_counter = loo(glob_counter)
print(glob_counter)

当你将计数器作为函数的参数传递时,你创建了一个新的实例,因此原始变量计数器将不会更新,其值保持为1。

这样做:

counter = 1
def loo(counter):
counter+=1
return counter
while 1:
counter = loo(counter)
print(counter)

最新更新