Только results()
что-то возвращает.Вам нужно передать возвращаемое значение по цепочке вызовов, возвращая его в других функциях, если вы хотите, чтобы они тоже что-то возвращали:
def your_age(self):
self.attributes['age'] = raw_input("What is your age? > ")
return self.your_name()
def your_name(self):
self.attributes['name'] = raw_input("What is your name? > ")
return self.your_location()
def your_location(self):
self.attributes['location'] = raw_input("Where do you live? > ")
return self.results()
Конечно, этот вид цепочки чрезвычайно уродлив;но я уверен, что ты уже знаешь это.Если нет, перепишите свой код следующим образом:
в каждой из этих функций, просто установите значение и выполните , а не , чтобы вызвать одну из ваших других функций.Затем добавьте такую функцию:
def prompt_data(self):
self.your_age()
self.your_name()
self.your_location()
В коде, использующем класс, сделайте следующее:
t2 = TestTwo()
t2.prompt_data()
output = t2.results()