AttributeError: у объекта 'NoneType' нет атрибута 'pencolor' - PullRequest
1 голос
/ 25 января 2020

Привет всем.

Я впервые здесь, и я новичок в 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)

и запустив его, я получил сообщение:

«Трассировка (последний последний вызов):
Файл» C: / Users / emin_ / PycharmProjects / firstproject / AydA .py ", строка 10, в t.pencolor (colors [x% сторон]) AttributeError: у объекта 'NoneType' нет атрибута 'pencolor'".

Я буду очень благодарен за любой совет и помочь.

С уважением, paDrEdada sh

1 Ответ

0 голосов
/ 26 января 2020

Наряду с присвоением None в t=turtle.bgcolor("black"), на которое указывает @JohnGordon (хотя turtle.bgcolor("black") в порядке), ваши отступы, как показано, неверны, и код может привести к ошибке при index out of range при colors, если sides и len(colors) не совпадают случайно. Я рекомендую подход, подобный следующему, чтобы избежать проблем:

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()

enter image description here

...