如何使位置不相等无

时间:2018-02-04 23:27:02

标签: python turtle-graphics

当我尝试打印或调用位置时,它表示它返回None。我该怎么做才能返回我点击的位置?

import turtle
line = turtle.Turtle()

def click_location(x,y):
    line.up()
    line.setpos(x,y)
    line.down()
    return line.pos()


location = window.onclick(click_location)

2 个答案:

答案 0 :(得分:0)

稍作修改(添加了两行,一行更改),对我有用:

import turtle
line = turtle.Turtle()
window = turtle.Screen()

def click_location(x,y):
    line.up()
    line.setpos(x,y)
    line.down()
    #return line.pos()
    print(line.pos())

location = window.onclick(click_location)
print(location)
turtle.mainloop()

答案 1 :(得分:0)

你的onclick处理程序无法返回任何内容。您可以显示x,y值,可以将全局设置为x,y值,也可以对x,y值进行操作。但你不能归还他们。

以下是显示它们的示例:

from turtle import Turtle, Screen

FONT = ('Arial', 36, 'normal')

def clicked_location(x, y):
    turtle.undo()  # erase previous coordinates
    turtle.write((x, y), align="center", font=FONT)

turtle = Turtle(visible=False)
turtle.write(turtle.position(), align="center", font=FONT)

screen = Screen()
screen.onclick(clicked_location)
screen.mainloop()

此代码:

location = window.onclick(click_location)

将无法执行您想要的操作,因为onclick()始终返回None并且您找到的位置尚未发生的事件。