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") 没问题),您显示的缩进不正确并且代码有可能如果 sideslen(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()