Угадай жЫвотное!
#!/usr/bin/python
# -*- coding: utf-8 -*-
class Node:
def __init__(self,data=None,yes=None,no=None):
self.data = data
self.yes = yes
self.no = no
def __str__(self):
return str(self.data)
root = Node()
def AddNewAnimal(node):
animal = raw_input("Введите задуманное животное: ")
question = raw_input("Введите вопрос, положительный ответ на который характерен для задуманного животного: ")
node.data = question
node.yes = Node(animal)
def CheckAnimal(node):
if node.yes == None and node.no == None:
user_input = raw_input("Это {0}? (Да/Нет) ".format(node))
if user_input == "Да" or user_input == "да" :
return
else:
node.no = Node(node.data)
AddNewAnimal(node)
return
if node.yes != None :
user_input = raw_input("{0} (Да/Нет) ".format(node))
if user_input == "Да" or user_input == "да":
CheckAnimal(node.yes)
else:
if node.no == None:
node.no = Node()
AddNewAnimal(node.no)
else:
CheckAnimal(node.no)
AddNewAnimal(root)
while 1:
CheckAnimal(root)
if raw_input("Продолжить игру (Да/Нет)?") == "Нет": break