我编写的代码应该只等到用户单击乌龟后才转到(1000,1000)。
import turtle
ras = turtle.Turtle()
win = turtle.Screen()
win.bgcolor("black")
ras.color("blue")
ras.onclick(ras.goto(1000,1000))
win.mainloop()
但是,事实并非如此,它只是立即关闭而无需任何点击。
答案 0 :(得分:1)
要使其正常工作,您需要替换
ras.onclick(ras.goto(1000,1000))
具有:
ras.onclick(lambda x, y: ras.goto(1000, 1000))
此将函数传递给onclick()
,而不是调用函数产生的None
。它还提供x
处理程序必需的y
和onclick()
参数,无论是否需要。
答案 1 :(得分:0)
我认为称呼为:
ras.onclick(lambda: ras.goto(1000,1000))
会工作。之所以被调用是因为,...,您正在调用它!
在函数上下文之外执行ras.goto(1000,1000)
时,它会调用方法