turtle-graphics onclick()立即调用函数

时间:2018-12-07 01:03:59

标签: python turtle-graphics

我编写的代码应该只等到用户单击乌龟后才转到(1000,1000)。

import turtle

ras = turtle.Turtle()
win = turtle.Screen()

win.bgcolor("black")
ras.color("blue")
ras.onclick(ras.goto(1000,1000))

win.mainloop()

但是,事实并非如此,它只是立即关闭而无需任何点击。

2 个答案:

答案 0 :(得分:1)

要使其正常工作,您需要替换

ras.onclick(ras.goto(1000,1000))

具有:

ras.onclick(lambda x, y: ras.goto(1000, 1000))

函数传递给onclick(),而不是调用函数产生的None。它还提供x处理程序必需的yonclick()参数,无论是否需要。

答案 1 :(得分:0)

我认为称呼为:

ras.onclick(lambda: ras.goto(1000,1000))

会工作。之所以被调用是因为,...,您正在调用它!

在函数上下文之外执行ras.goto(1000,1000)时,它会调用方法