python - 使用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:分配前引用的局部变量“点击”
解决方案
变量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()
推荐阅读
- c++ - 如何使用 glut openGL 绘制 4 角星
- c++ - 在 ros noetic 中与 pcl_ros 一起使用时 cv::viz::Viz3d 崩溃
- python - Pandas 错误:“IndexError:iloc 无法放大其目标对象”
- excel - 静默 VBA 添加新的 Excel 工作表而无需屏幕更新
- sql - 根据日期范围内是否(完全)包含年份进行匹配
- java - Jackson 使用 + 和 t 字符反序列化日期字符串
- c++ - operator<=> 应该合成数组比较吗?
- python - 将页眉和页脚添加到 Python 的 JSON 输出
- android - 我无法在 Android 10 中使用 DownloadManger 下载文件?
- html - 页面缩小时试图让导航栏消失