为什么这是语法错误?使用屏幕点击时有没有办法返回这两个变量?
Why is this a syntax error? Is there a way of returning both the variables when using onscreen click?
这是 3.10 中的一个 python 程序,我需要一个单独的 x 和 y 变量用于我的函数,这样我就可以将圆点/十字放在它们需要去的地方。我试过将它作为一两个返回,然后再拆分,但它实际上并没有存储任何东西。然后我的计划是将它们设置为 s 全局变量,但它说这是一个语法错误。我仍在学习编码,但不明白为什么。还有如果有办法返回它们是什么。
def which(hx,hy):
if (hx > -54 and hx < -21) and (hy >43 and hy < 75):
place=0
elif (hx > -22 and hx < 19) and (hy >43 and hy < 75):
place=1
elif (hx > 20 and hx < -54) and (hy >43 and hy < 75):
place=2
elif (hx > -54 and hx < -21) and (hy > 3 and hy < 41):
place=3
elif (hx > -22 and hx < 19) and (hy >3 and hy < 41):
place=4
elif (hx > 20 and hx < -54) and (hy >3 and hy < 41):
place=5
elif (hx > -54 and hx < -21) and (hy > -37 and hy < 1):
place=6
elif (hx > -22 and hx < 19) and (hy > -37 and hy < 1):
place=7
elif (hx > 20 and hx < -54) and (hy > -37 and hy < 1):
place=8
return place
def seperate(x,y):
global cx = x # this is the problem(it highlights the = red)
global cy = y
onscreenclick(seperate)
print(cx)
print(cy)
h=which(cx,cy)
n(h)
def seperate(x,y):
global cx = x # this is the problem(it highlights the = red)
global cy = y
改为
def seperate(x,y):
global cx
cx= x # this is the problem(it highlights the = red)
global cy
cy = y
您正在将一个变量声明为全局变量,同时为其赋值。 Python要你声明变量为全局变量,然后你可以给它赋值。
这是 3.10 中的一个 python 程序,我需要一个单独的 x 和 y 变量用于我的函数,这样我就可以将圆点/十字放在它们需要去的地方。我试过将它作为一两个返回,然后再拆分,但它实际上并没有存储任何东西。然后我的计划是将它们设置为 s 全局变量,但它说这是一个语法错误。我仍在学习编码,但不明白为什么。还有如果有办法返回它们是什么。
def which(hx,hy):
if (hx > -54 and hx < -21) and (hy >43 and hy < 75):
place=0
elif (hx > -22 and hx < 19) and (hy >43 and hy < 75):
place=1
elif (hx > 20 and hx < -54) and (hy >43 and hy < 75):
place=2
elif (hx > -54 and hx < -21) and (hy > 3 and hy < 41):
place=3
elif (hx > -22 and hx < 19) and (hy >3 and hy < 41):
place=4
elif (hx > 20 and hx < -54) and (hy >3 and hy < 41):
place=5
elif (hx > -54 and hx < -21) and (hy > -37 and hy < 1):
place=6
elif (hx > -22 and hx < 19) and (hy > -37 and hy < 1):
place=7
elif (hx > 20 and hx < -54) and (hy > -37 and hy < 1):
place=8
return place
def seperate(x,y):
global cx = x # this is the problem(it highlights the = red)
global cy = y
onscreenclick(seperate)
print(cx)
print(cy)
h=which(cx,cy)
n(h)
def seperate(x,y):
global cx = x # this is the problem(it highlights the = red)
global cy = y
改为
def seperate(x,y):
global cx
cx= x # this is the problem(it highlights the = red)
global cy
cy = y
您正在将一个变量声明为全局变量,同时为其赋值。 Python要你声明变量为全局变量,然后你可以给它赋值。