为什么我的计数器没有更新,即使我在每个循环中都添加了一个?
Why does my counter not update even though I am adding one on every loop?
出于某种原因,我的计数器没有更新,即使我在 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)
出于某种原因,我的计数器没有更新,即使我在 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)