首页 > 解决方案 > 使用turtle.onclick() 改变变量

问题描述

每次单击海龟时,我如何将变量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:分配前引用的局部变量“点击”

标签: pythonpython-2.7turtle-graphics

解决方案


变量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()

推荐阅读