如何解决属性错误:部分初始化的模块“turtle”没有属性“bgcolor”
当我使用乌龟时,无论我收到什么错误消息:
File "[REDACTED FOR SECURITY]",line 1,in <module>
from turtle import *
File "[REDACTED FOR SECURITY]",line 5,in <module>
turtle.bgcolor('black')
AttributeError: partially initialized module 'turtle' has no attribute 'bgcolor' (most likely due to a circular import)
我什至没有使用 turtle.bgcolor()
。
这是我的代码,绘制蕨类植物:
from turtle import *
import random
pen = turtle.Turtle()
pen.speed(15)
pen.color("blue")
pen.penup()
x = 0
y = 0
for n in range(110000):
pen.goto(65 * x,37 * y - 252) # 57 is to scale the fern and -275 is to start the drawing from the bottom.
pen.pendown()
pen.dot()
pen.penup()
r = random.random() # to get probability
r = r * 100
xn = x
yn = y
if r < 1: # elif ladder based on the probability
x = 0
y = 0.16 * yn
elif r < 86:
x = 0.85 * xn + 0.04 * yn
y = -0.04 * xn + 0.85 * yn + 1.6
elif r < 93:
x = 0.20 * xn - 0.26 * yn
y = 0.23 * xn + 0.22 * yn + 1.6
else:
x = -0.15 * xn + 0.28 * yn
y = 0.26 * xn + 0.24 * yn + 0.44
解决方法
正如此答案中所指出的,您需要导入 turtle
模块本身,而不是仅导入其所有属性:
import turtle
你的理由是因为你有
pen = turtle.Turtle()
如果您没有执行 import turtle
,则不会定义该行中的 turtle
。
我要解决的一件事是,您不需要关闭乌龟笔来使 turtle.dot()
方法工作,从而减少
pen.pendown()
pen.dot()
pen.penup()
到
pen.dot()
将有效提高您程序的效率。
,@furas 对您的 /opt/lampp/htdocs/no-data-test/
声明的评论是有标记的 (+1)。基于代码中的其他调用,例如import
和 speed(15)
在 pendown()
之前,很明显您之前没有使用过乌龟和/或阅读过它的文档。
如果我纯粹是为了速度而写这篇文章,我会这样做:
dot()
这将永远运行,直到您单击窗口,然后它会停止并消失。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。