You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python 2.7 Turtle onkey事件触发无限循环问题求助

解决turtle中onkey仅调用一次函数的问题

嘿,这个问题我之前也折腾过,其实搞定它很简单!你现在的代码之所以每次按"a"都会弹出输入框,是因为onkey的绑定一直生效着——每次按键都会触发绑定的函数。要让它只触发一次,关键就是在函数执行完成后,解除这个按键的绑定。

修改后的代码如下:

from turtle import *
def PleaseStop():
    SomeWord = input("Which word?")
    # 解除a键的绑定,后续按a不再触发该函数
    Screen().onkey(None, "a")

Screen().onkey(PleaseStop,"a")
Screen().listen()

原理很直白:当你第一次按下"a",PleaseStop函数会正常执行输入操作,执行到最后一行时,Screen().onkey(None, "a")会把"a"键对应的绑定函数设为None,相当于清空了这个按键的触发逻辑。之后再按"a"就不会有任何反应啦,完美解决了重复弹出输入框的问题。

内容的提问来源于stack exchange,提问作者user9715460

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:21:23