python - 为什么我的计数器没有更新,即使我在每个循环上都添加了一个?
问题描述
出于某种原因,即使我在 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)
推荐阅读
- jenkins - 带有 ansicolor 的 otput 中的 Jenkins 错误 script.sh
- django - Django多个重复下拉列表
- c# - Dotnet 核心控制台应用程序 slack 机器人记录器
- gatsby - Gatsby 不会在 Markdown 中渲染图像,但其他一切都可以
- spring-boot - Assertj-Swagger PropertyType 不匹配
- node.js - 在重置密码时,如何避免来自 Feathersjs 的错误 400?
- asp.net-core - asp.net core 3.1 web api的解决方案是什么
- c# - 在 MVC 中检查 ViewBag 的布尔值
- paypal - 如何使用 PayPal Invoicing webhook 上线?
- reactjs - 如何使用 jest 测试反应组件的标题?