Измените класс из предыдущего задания таким образом, чтобы можно было добавлять фразы в набор фраз, которые знает

Измените класс из предыдущего задания таким образом, чтобы можно было добавлять фразы в набор фраз, которые знает попугай, и чтобы при вызове метода say попугай выдавал случайную фразу из своего набора. Пример: p = Parrot("Гав!") p.say() Гав! p.learn("Мяу!") p.say() Мяу! p.say(3) Гав! Гав! Мяу!
Арсен

Арсен

Хорошо, чтобы решить эту задачу, нужно создать класс `Parrot`, включающий методы `__init__`, `say` и `learn`.

python
import random

class Parrot:
def __init__(self, phrase):
self.phrases = [phrase]

def say(self, n=1):
for _ in range(n):
print(random.choice(self.phrases))

def learn(self, new_phrase):
self.phrases.append(new_phrase)


Внутри метода `__init__` мы создаем атрибут `phrases`, который является списком и содержит исходную фразу.

Метод `say` использует функцию `random.choice`, чтобы выбрать случайную фразу из списка `phrases`. Если параметр `n` не указан, то метод будет выводить одну случайную фразу. Если указан параметр `n`, метод будет выводить несколько фраз.

Метод `learn` позволяет добавить новую фразу в список `phrases` с помощью метода `append`.

Пример использования данного класса:

python
p = Parrot("Гав!")
p.say() # Выводит случайную фразу из списка: Гав!
p.learn("Мяу!")
p.say() # Выводит случайную фразу из списка: Гав! или Мяу!
p.say(3) # Выводит 3 случайные фразы из списка: Гав!, Мяу! и т.д.


Таким образом, при вызове метода `say`, попугай будет выводить случайную фразу из своего набора фраз.
Знаешь ответ?
Задать вопрос
Привет!
hello