1: def animal():
2:
3: # empezar con un nodo suelto
4: raiz = Arbol("pajaro")
5: # bucle hasta que el usuario salga
6: while 1:
7: print
8:
9: if not si("Estas pensando en un animal? "): break
10: # recorrer el arbol
11: arbol = raiz
12: while arbol.tomaIzquierda() != None:
13: indicador = arbol.tomaCarga() + "? "
14:
15: if si(indicador):
16: arbol = arbol.tomaDerecha()
17: else:
18: arbol = arbol.tomaIzquierda()
19:
20: # intentar adivinar
21: adivina = arbol.tomaCarga()
22: indicador = "Es un " + adivina + "? "
23:
24: if si(indicador):
25: print "^A<Soy el mas grande!"
26: continue
27:
28: # obtener informacion nueva
29: indicador = "Como se llama el animal? "
30: animal = raw_input(indicador)
31: indicador = "Que pregunta distinguir³a a un %s de un %s? "
32: pregunta = raw_input(indicador % (animal,adivina))
33:
34: # a~nadir informacion nueva al arbol
35: arbol.ponCarga(pregunta)
36: indicador = "Si el animal fuera un %s, cual ser³a la respuesta? "
37: if si(indicador % animal):
38: arbol.ponIzquierda(Arbol(adivina))
39: arbol.ponDerecha(Arbol(animal))
40:
41: else:
42: arbol.ponIzquierda(Arbol(animal))
43: arbol.ponDerecha(Arbol(adivina))
44:
45: def si(preg):
46: from string import lower
47: resp = lower(raw_input(preg))
48: return (resp[0:1] == 's')
Deja un comentario