python - python hangman 计数器变量被卡住
解决方案
您已经更改了该存储库中的代码,我认为您指的是存储库中的第 36 行。话虽这么说,python 不是通过引用传递的。当您counter
在函数内部进行更改时read
,您不会更改全局变量lives
。如果你在交互模式下运行你的程序python -i prac.py
,然后print(lives)
在你可以看到它仍然是它的原始值 5 之后运行。解决这个问题的方法是global lives
在 prac.py 中设置如下:
# original code:
def func(par):
x=par
print(x)
c1.create_text(100,0,fill='white',text=par)
flag_3=ob1.read(x,lives)
# new code:
def func(par):
x=par
print(x)
c1.create_text(100,0,fill='white',text=par)
global lives
flag_3=ob1.read(x,lives)
lives = flag_3
然而,一个更优雅的解决方案可能是将lives
变量作为hangman
类的成员。
推荐阅读
- vue.js - 在页面中使用组件时调用了两次挂载方法
- soapui - 如何在 SoapUI 的请求正文中使用请求参数
- ruby-on-rails - Sendgrid - 要从邮件设置中删除的密件抄送 API
- objective-c - tvos - 将键盘切换到字母数字模式后,日语变为英语
- javascript - 检查已经在 Gatsby 中创建的页面
- angularjs - 当我更改日期格式时,angular.js 中的排序中断
- javascript - 当用户开始输入时删除占位符 0
- c++ - 当我清除一个结构向量时会发生什么?
- google-sheets - Google 表格:将两个表格连接在一起
- sql - 将查询的值存储到 SQL Server 变量中