Класс "черепахи" не имеет атрибута "вперед" (Python черепаха) - PullRequest
0 голосов
/ 24 апреля 2020

Я пытаюсь устроить гонку на черепахах, но получаю ошибку, что у класса "черепах" нет атрибута "вперед". Вот мой код:

class turtles:   
    def __init__(self, color, posX):
        self = turtle.Turtle(shape='turtle', visible=False)
        self.color(color)
        self.penup()
        self.shape('turtle')
        self.goto(posX, -300)
        self.showturtle()
        self.setheading(90)
    def start_race(self):
        self.forward(random.randrange(0,10))

t1 = turtles('red',-150)
t2 = turtles('orange', -100)
t3 = turtles('yellow',-50)
t4 = turtles('green', 0)
t5 = turtles('light blue', 50)
t6 = turtles('blue',100)
t7 = turtles('purple', 150)

def begin_race():
    t1.start_race()
    t2.start_race()
    t3.start_race()
    t4.start_race()
    t5.start_race()
    t6.start_race()
    t7.start_race()

begin_race()

1 Ответ

0 голосов
/ 24 апреля 2020

Замените ваш turtles класс следующим:

class turtles(turtle.Turtle):   
    def __init__(self, color, posX):
        self.color(color)
        self.penup()
        self.shape('turtle')
        self.goto(posX, -300)
        self.showturtle()
        self.setheading(90)
    def start_race(self):
        self.forward(random.randrange(0,10))

Наследование в Python выполняется путем указания класса в скобках после объявления имени класса.
В этом случае ваш * 1006 Класс * наследуется от класса turtle.Turtle, а затем его атрибуты изменяются. Кажется, было также некоторое повторение с указанием цвета и видимости черепахи (я убрал это для вас)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...