所以我正在用Python和Kivy设计一个hangman游戏,我想添加一个输赢选项。在
我定义的一个函数是Button_pressed,如果按钮被按下,它会隐藏它,但是我希望函数man_is_hung()有这样的内容:“如果按钮被按下了6次,显示“游戏结束”
有人能帮帮我吗?在
def button_pressed(button):
for (letter, label) in CurrentWord:
if (letter.upper() == button.text): label.text=letter
button.text=" " # hide the letter to indicate it's been tried
def man_is_hung():
if button_pressed(button)
下面是一种在不涉及全局或类的函数中使用静态变量的方法:
可以将按钮存储为一个类,如下所示:
这基本上是一个手动的装饰器,虽然它可能有点复杂,但这是一个简单的方法来做一个函数的簿记。在
实际上,做这种事情的正确方法是使用一个decorator,它根据您希望函数能够被调用的次数接受一个参数,然后自动应用上面的模式。在
编辑:啊!hcwhsa击败了我。他的解决方案是我上面所说的更一般的解决方案。在
使用decorator:
示例:
演示:
^{pr2}$在py3.x中,您可以使用
nonlocal
来使用函数而不是类来实现相同的功能:演示:
相关问题 更多 >
编程相关推荐