Python 如何使函数返回海龟的x坐标?

Python 如何使函数返回海龟的x坐标?,python,turtle-graphics,python-3.5,Python,Turtle Graphics,Python 3.5,我希望我的函数hello3在单击屏幕上的某个位置后返回海龟的x坐标,但它似乎一直都不返回 import turtle tess = turtle.Turtle() wn = turtle.Screen() def hello3 (x,y): tess.goto(x, y) return tess.xcor() 当您调用turtle.onscreenclick(hello3,btn=1)时,它会将“hello3”函数绑定到屏幕单击事件。但是,它不会立即调用“hello3”函数。

我希望我的函数hello3在单击屏幕上的某个位置后返回海龟的x坐标,但它似乎一直都不返回

import turtle

tess = turtle.Turtle()
wn = turtle.Screen()

def hello3 (x,y):
   tess.goto(x, y)

   return tess.xcor()

当您调用turtle.onscreenclick(hello3,btn=1)时,它会将“hello3”函数绑定到屏幕单击事件。但是,它不会立即调用“hello3”函数。当出现屏幕点击事件时,程序将调用“hello3”函数。因此,turtle.onscreenclick()返回None,因为它将函数连接到事件,但不调用该函数。请尝试以下代码:

turtle.onscreenclick(hello3, btn=1)

当您调用turtle.onscreenclick(hello3,btn=1)时,它会将“hello3”函数绑定到屏幕单击事件。但是,它不会立即调用“hello3”函数。当出现屏幕点击事件时,程序将调用“hello3”函数。因此,turtle.onscreenclick()返回None,因为它将函数连接到事件,但不调用该函数。请尝试以下代码:

turtle.onscreenclick(hello3, btn=1)

不清楚你在问什么。每次用户在屏幕上单击鼠标时,都会调用函数hello3。它将无法向您的程序返回任何内容。是的,我知道,我在问如何使它返回x坐标,或者正如您所说的,它不会返回任何内容,那么为什么?@AlexMurray,是什么让您认为它返回了
?也就是说,您运行的确切测试是什么,您观察到的结果是什么,以及这些结果与您期望的结果有何不同?@Robᵩ , 根据我有限的编程知识,我做的测试是打印(turtle.onscreenclick(hello3,btn=1)),据我所知,它应该将x坐标打印到控制台屏幕上。但不清楚你在问什么。每次用户在屏幕上单击鼠标时,都会调用函数hello3。它将无法向您的程序返回任何内容。是的,我知道,我在问如何使它返回x坐标,或者正如您所说的,它不会返回任何内容,那么为什么?@AlexMurray,是什么让您认为它返回了
?也就是说,您运行的确切测试是什么,您观察到的结果是什么,以及这些结果与您期望的结果有何不同?@Robᵩ , 根据我有限的编程知识,我做的测试是打印(turtle.onscreenclick(hello3,btn=1)),据我所知,它应该将x坐标打印到控制台屏幕上。但是它没有把x坐标的值打印到屏幕上,类型是NoneType,但是我想让我的函数返回x坐标的原因是我想在另一个函数中使用这个值。有什么方法可以这样做吗?@AlexMurray我想你必须调用这个函数,它需要x坐标,在“hello3”函数中。在这种情况下,您可以确保在获得新的x坐标时,将调用该函数。或者,您必须定义一个全局变量来存储x坐标。当您将“hello3”作为回调函数时,它可以被视为一个操作(不是正常的函数调用),只执行一些没有返回值的操作。是的,它将x坐标的值打印到屏幕上,类型为NoneType,但我希望函数返回x坐标的原因是,我希望在另一个函数中使用该值。有什么方法可以这样做吗?@AlexMurray我想你必须调用这个函数,它需要x坐标,在“hello3”函数中。在这种情况下,您可以确保在获得新的x坐标时,将调用该函数。或者,您必须定义一个全局变量来存储x坐标。当您将“hello3”作为回调函数时,它可以被视为一个操作(不是正常的函数调用),只执行一些没有返回值的操作。