首页 > 解决方案 > 为什么我的计数器没有更新,即使我在每个循环上都添加了一个?

问题描述

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

代码:

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

标签: pythonfunctionwhile-loop

解决方案


发生这种情况是因为函数内的计数器变量是本地的,而不是全局的。因此它只会在函数内部更新。但是,如果您将函数的值分配给全局计数器,您将实现您想要的。

glob_counter = 1


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


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

推荐阅读