如何解决Python Turtle报错:‘int’ object has no attribute ‘undobuffer’
解决Python Turtle中‘int’ object has no attribute ‘undobuffer’错误
错误原因
你代码里的 t = turtle.Turtle 只是引用了Turtle类本身,并未创建类的实例。调用 t.circle() 时,Python会将Turtle类作为第一个参数传入circle方法,但该方法需要的是Turtle实例,这种参数类型不匹配会触发报错。
修复后的代码
import turtle import time import math # 创建Turtle类的实例,必须加上括号() t = turtle.Turtle() def petalo(): t.circle(250, 50) t.circle(250, -50) petalo() # 保持绘图窗口打开,避免运行后直接关闭 turtle.done()
关键修复点
- 给
turtle.Turtle添加括号(),创建一个可操作的画笔实例,而不是仅引用类本身。 - 新增
turtle.done()可以让绘图窗口保持显示,方便查看绘制结果。
内容的提问来源于stack exchange,提问作者Aledelmon
相关产品推荐
相关产品推荐

