使用 turtle.onclick() 改变一个变量
Using turtle.onclick() to change a variable
每次点击 turtle 时,我如何让它将变量 clicks
递增 1:
import turtle
jeff = turtle.Turtle()
jeff.shape("turtle")
jeff.color("blue")
clicks=0
def left(x,y):
jeff.left(90)
clicks=clicks+1
print "you have"+clicks+"clicks."
jeff.onclick(left)
当我输入这个时,在行 clicks=clicks+1
上它给我:
UnboundLocalError: local variable 'clicks' referenced before
assignment
变量clicks
是全局的。任何想要 修改 全局变量的函数都必须声明该变量 global
:
from turtle import Turtle, mainloop
clicks = 0
def left(x, y):
global clicks
jeff.left(90)
clicks += 1
print "you have " + str(clicks) + " clicks."
jeff = Turtle()
jeff.shape("turtle")
jeff.color("blue")
jeff.onclick(left)
mainloop()
每次点击 turtle 时,我如何让它将变量 clicks
递增 1:
import turtle
jeff = turtle.Turtle()
jeff.shape("turtle")
jeff.color("blue")
clicks=0
def left(x,y):
jeff.left(90)
clicks=clicks+1
print "you have"+clicks+"clicks."
jeff.onclick(left)
当我输入这个时,在行 clicks=clicks+1
上它给我:
UnboundLocalError: local variable 'clicks' referenced before assignment
变量clicks
是全局的。任何想要 修改 全局变量的函数都必须声明该变量 global
:
from turtle import Turtle, mainloop
clicks = 0
def left(x, y):
global clicks
jeff.left(90)
clicks += 1
print "you have " + str(clicks) + " clicks."
jeff = Turtle()
jeff.shape("turtle")
jeff.color("blue")
jeff.onclick(left)
mainloop()