Измените класс из предыдущего задания таким образом, чтобы можно было добавлять фразы в набор фраз, которые знает попугай, и чтобы при вызове метода say попугай выдавал случайную фразу из своего набора. Пример: p = Parrot("Гав!") p.say() Гав! p.learn("Мяу!") p.say() Мяу! p.say(3) Гав! Гав! Мяу!
Арсен
Хорошо, чтобы решить эту задачу, нужно создать класс `Parrot`, включающий методы `__init__`, `say` и `learn`.
Внутри метода `__init__` мы создаем атрибут `phrases`, который является списком и содержит исходную фразу.
Метод `say` использует функцию `random.choice`, чтобы выбрать случайную фразу из списка `phrases`. Если параметр `n` не указан, то метод будет выводить одну случайную фразу. Если указан параметр `n`, метод будет выводить несколько фраз.
Метод `learn` позволяет добавить новую фразу в список `phrases` с помощью метода `append`.
Пример использования данного класса:
Таким образом, при вызове метода `say`, попугай будет выводить случайную фразу из своего набора фраз.
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`, попугай будет выводить случайную фразу из своего набора фраз.
Знаешь ответ?