This commit is contained in:
Patrik Tulach 2026-11-04 12:27:16 +01:00
parent e2afd1cabd
commit 0b8574adbd

78
u8/zoo.py Normal file
View File

@ -0,0 +1,78 @@
def read_line():
try:
line = input()
except EOFError:
return None
if line.endswith("\r"):
line = line[:-1]
return line
def load_tree():
root = None
stack = []
questions = answers = 0
while True:
line = read_line()
if not line:
return None
node = [line, None, None]
if root is None:
root = node
else:
parent = stack[-1]
if parent[1] is None:
parent[1] = node
else:
parent[2] = node
stack.pop()
if line.endswith("?"):
questions += 1
stack.append(node)
else:
answers += 1
if not stack:
break
if read_line() != "":
return None
return root, questions, answers
def main():
print("Expert zo zoo to vie.")
result = load_tree()
if result is None:
print("Chybna databaza")
return
node, questions, answers = result
print(f"Pocet otazok: {questions}")
print(f"Pocet odpovedi: {answers}")
print("Odpovedajte 'a' pre prvu moznost alebo 'n' pre druhu moznost.")
print(node[0])
while node[1] is not None:
choice = read_line()
if choice is None:
print("Koniec vstupu")
return
if choice == "a":
node = node[1]
elif choice == "n":
node = node[2]
else:
print("Nerozumiem")
return
print(node[0])
print("Koniec")
if __name__ == "__main__":
main()