Дан код.
class Sprite (Turtle):
def __init__(self, x, y, shape):
super().__init__()
self.goto(x,у)
self.shape(shape)
class Enemy(Sprite):
def __init__(self,x,у):
Sprite. __init__(self,x,у, shape)
self.color(‘red’)
self.shape(‘turtle’)
Выбери строку с верным созданием экземпляра класса Enemyfrom turtle import *
b1 = Sprite(-70, 0, ‘turtle’, ‘red’)
b1 = Sprite(-70, 0, ‘turtle’)
b1 = Enemy(-70, 0, ‘turtle’)
b1 = Enemy(-70, 0, ‘turtle’, ‘red’)
b1 = Enemy(-70, 0)
python
class Sprite(Turtle):
def __init__(self, x, y, shape): # пропущен параметр shape
super().__init__()
self.goto(x, y)
self.shape(shape)
Исправленный конструктор будет выглядеть так:
python
def __init__(self, x, y, shape):
super().__init__()
self.goto(x, y)
self.shape(shape)
2. В классе Enemy также есть несколько ошибок:
python
class Enemy(Sprite):
def __init__(self, x, y): # пропущен параметр shape
Sprite.__init__(self, x, y, shape) # shape не передан в качестве аргумента
self.color('red')
self.shape('turtle')
Исправленный конструктор будет выглядеть так:
python
def __init__(self, x, y, shape):
Sprite.__init__(self, x, y, shape)
self.color('red')
self.shape('turtle')
Теперь, когда мы исправили ошибки в классах, давайте рассмотрим варианты создания экземпляра класса Enemy:
1. b1 = Sprite(-70, 0, 'turtle', 'red')
Этот вариант неверен, потому что мы пытаемся создать экземпляр класса Sprite, а не Enemy. De facto, у класса Sprite нет аргумента 'red' в его конструкторе.
2. b1 = Sprite(-70, 0, 'turtle')
Этот вариант также неверен, по тем же причинам, что и в первом случае. Мы все еще пытаемся создать экземпляр класса Sprite, но этот раз без дополнительного аргумента 'red'.
3. b1 = Enemy(-70, 0, 'turtle')
Ответ: Этот вариант верный. Мы создаем экземпляр класса Enemy с координатами (-70, 0) и формой 'turtle'.
4. b1 = Enemy(-70, 0, 'turtle', 'red')
Этот вариант также неверен, поскольку формы 'turtle' и цвета 'red' уже установлены в конструкторе класса Enemy.
5. b1 = Enemy(-70, 0)
Этот вариант неверен, так как конструктор класса Enemy ожидает два обязательных аргумента: x, y.
Итак, верным вариантом создания экземпляра класса Enemy из предложенных является:
b1 = Enemy(-70, 0, 'turtle')
Теперь код будет выполняться без ошибок и создаст экземпляр класса Enemy с заданными атрибутами.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет