1) Вы создаете класс для представления неиграбельного персонажа (NPC) в игре. У этих персонажей обычно есть набор фраз, которые они произносят, когда игрок подходит к ним. Вы хотите, чтобы NPC создавались с любым количеством фраз (т.е. некоторые могут сказать 2 фразы, некоторые могут сказать 3), и позволить пользователям добавлять фразы, которые могут произносить символы. Когда вызывается метод speak (), одна из фраз должна быть выбрана случайным образом и возвращена. Определение класса предоставлено ниже с пробелами для заполнения. <- Это инструкции к вопросу </p>
from random import randint
class NPC (object):
def __init__(self, name, phrases):
self.__name = name
self.__phrases = #Your code here<-
def add_phrase(self, phrase):
#your one line of code here to add a phrase to the phrases an NPC can say<-
def getPhrases(self):
return self.__phrases
def speak(self):
#Your code here, no more than 2 lines to select a phrase at random and <-
#return it<-
def __str__(self):
return "Good day, I am " + self.__name
Четыре стрелки указывают на строки кода, с которыми мне нужна помощь.
Например, в основной программе, если вы запускаете следующие строки кодов:
role = NPC('Guard', ['Greetings.','What can I do for you?','Knock it off!'])
role.add_phrase('Light bless you.')
print(role.speak())
, на выходе может быть любая из вышеперечисленных фраз.
Это то, что у меня естьдо сих пор, но я не думаю, что это правильно и выдает ошибку.
from random import randint
class NPC (object):
def __init__(self, name, phrases):
self.__name = name
self.__phrases = phrases
def add_phrase(self, phrase):
self.add_phrase= add_phrase
def getPhrases(self):
return self.__phrases
def speak(self):
print(random.choice(self.__phrases))
return self.__phrases
def __str__(self):
return "Good day, I am " + self.__name
В целом, мне нужна помощь с 4 строками кода, и у них есть стрелки, указывающие, с какими строками кода мне нужна помощь.