Работа с фразами в питоне - PullRequest
0 голосов
/ 09 ноября 2019

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 строками кода, и у них есть стрелки, указывающие, с какими строками кода мне нужна помощь.

...