Печать не распечатывает содержание, которое я назначил в словаре - PullRequest
0 голосов
/ 15 ноября 2018

Я новичок в программировании.У меня вопрос по поводу dictionary, я провел некоторые исследования, но все еще не решил проблему.Я создал словарь, используя целые 0, 1, 2 и 3 в качестве ключа и (words) в качестве содержимого.Я пытался использовать функцию get() для получения ключа в словаре и пытался распечатать содержимое в операторе if, но он выводит None.Ниже приведена кодировка (не полная, но я беру соответствующие части):

Это словарь:

class Fact(object):
    facts = {
        0 : "I heard something... someone saying...\nI... I... oh yes! The killer is a guy!.",
        1 : "2",
        2 : "3"
}

И вот как я кодирую.

class People(object):

    def __init__(self, vital, mental, evidance_count):
        self.vital = vital
        self.mental = mental
        self.evidance_count = evidance_count

    def evidance(self, locate):
        return Fact.facts.get(locate)

    def talk(self):
        talk = self.evidance(self.evidance_count)
        self.evidance_count += 1

Я также создал класс Andy, который наследует класс People, удалил несвязанную часть:

class Andy(People):

    def play(self):
    if self.mental < 6: #i only coded some basic print and raw_input before this part to reach my desired self.mental value = 4 which is less than 6.
        print self.talk()
    else:
        print "You did't get any hint from Andy."

    return Andy(self.vital, self.mental, self.evidance_count)

Это конечная часть моего кода для инициации кодов:

hint = 0
andy = Andy(1, 5, hint)
andy.play()

print andy.vital
print andy.mental
print andy.evidance_count

Iне получил ошибку.Но это:

None
1
4
1

Я ожидал получить это:

I heard something... someone saying...\nI... I... oh yes! The killer is a guy!.
1
4
1

Кто-нибудь знает, какая часть моего кода пошла не так ??

1 Ответ

0 голосов
/ 15 ноября 2018

Ваша talk функция должна возвращать значение:

def talk(self):
    talk = self.evidance(self.evidance_count)
    self.evidance_count += 1
    return talk

Производит вывод:

I heard something... someone saying...
I... I... oh yes! The killer is a guy!.
1
5
1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...