使用 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()