AttributeError: 'NoneType' object has no attribute 'pencolor'
AttributeError: 'NoneType' object has no attribute 'pencolor'
大家好
这是我第一次来这里,我是 Python 的新人。
我写这段代码的时候
import turtle
t=turtle.Pen()
t=turtle.bgcolor("black")
sides=6
colors=("blue", "red", "green", "white", "yellow", "purple")
for x in range(360):
t.pencolor(colors[x % sides])
t.forward(x*3/sides+x)
t.left(360/sides+1)
t.width(x*sides/200)
和运行吧,我收到了一条消息:
"Traceback (most recent call last):
File "C:/Users/emin_/PycharmProjects/firstproject/AydA.py", line 10, in
t.pencolor(colors[x % sides]) AttributeError: 'NoneType' object has no attribute 'pencolor'".
如果有任何建议和帮助,我将不胜感激。
此致,paDrEdadash
连同@JohnGordon 指出的 t=turtle.bgcolor("black")
中 None
的赋值(虽然 turtle.bgcolor("black")
没问题),您显示的缩进不正确并且代码有可能如果 sides
和 len(colors)
不巧合匹配,则 colors
上的 index out of range
出错。我推荐如下方法来避免问题:
from turtle import Screen, Turtle
SIDES = 6
COLORS = ("blue", "red", "green", "white", "yellow", "purple")
screen = Screen()
screen.bgcolor("black")
turtle = Turtle()
for x in range(360):
turtle.pencolor(COLORS[(x % SIDES) % len(COLORS)])
turtle.forward(x*3 / SIDES + x)
turtle.left(360 / SIDES+1)
turtle.width(x * SIDES/200)
screen.exitonclick()
大家好
这是我第一次来这里,我是 Python 的新人。
我写这段代码的时候
import turtle
t=turtle.Pen()
t=turtle.bgcolor("black")
sides=6
colors=("blue", "red", "green", "white", "yellow", "purple")
for x in range(360):
t.pencolor(colors[x % sides])
t.forward(x*3/sides+x)
t.left(360/sides+1)
t.width(x*sides/200)
和运行吧,我收到了一条消息:
"Traceback (most recent call last):
File "C:/Users/emin_/PycharmProjects/firstproject/AydA.py", line 10, in t.pencolor(colors[x % sides]) AttributeError: 'NoneType' object has no attribute 'pencolor'".
如果有任何建议和帮助,我将不胜感激。
此致,paDrEdadash
连同@JohnGordon 指出的 t=turtle.bgcolor("black")
中 None
的赋值(虽然 turtle.bgcolor("black")
没问题),您显示的缩进不正确并且代码有可能如果 sides
和 len(colors)
不巧合匹配,则 colors
上的 index out of range
出错。我推荐如下方法来避免问题:
from turtle import Screen, Turtle
SIDES = 6
COLORS = ("blue", "red", "green", "white", "yellow", "purple")
screen = Screen()
screen.bgcolor("black")
turtle = Turtle()
for x in range(360):
turtle.pencolor(COLORS[(x % SIDES) % len(COLORS)])
turtle.forward(x*3 / SIDES + x)
turtle.left(360 / SIDES+1)
turtle.width(x * SIDES/200)
screen.exitonclick()