![](/img/trans.png)
[英]Python - Turtle.onkey() - A way to accept Any/Unknown Key?
[英]Easier Way to Accept Key Presses in Turtle?
不必像这样长而丑陋地做一些事情:
def change_variable():
global variable
variable+=1
def function(var, key):
global variable
variable=var
turtle.listen()
turtle.onkey(change_variable, key)
有没有办法做到以下几点? 我需要任何模块或更新吗?
turtle.onkey(variable+=1, key)
而且,能够执行以下操作会使我的工作变得简单1000倍,这可能吗?
while 1:
turtle.onkey(break, key)
您可以使用闭包并将丑陋合并到一个较小的区域:
def function(var, key):
def change_variable():
nonlocal var
var += 1
print(var) # just to prove it's incrementing
turtle.listen()
turtle.onkey(change_variable, key)
我假设全局variable
是丑陋的一部分,如果不是,并且您需要它,则只需将其重新添加,然后将nonlocal
更改为global
。 这样可以将闭包简化为内部函数。
解决方案:
while 1:
turtle.onkey(break, key)
有点类似:
def outer(key):
keep_going = True
def quit_loop():
nonlocal keep_going
keep_going = False
turtle.onkey(quit_loop, key)
turtle.listen()
while keep_going:
turtle.left(70)
turtle.forward(200)
print("Done!")
尽管可能不是您所希望的短而简单的解决方案!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.