##############################################################################
# Parte do livro Introdução à Programação com Python
# Autor: Nilo Ney Coutinho Menezes
# Editora Novatec (c) 2010-2024
# Quarta Edição - Março/2024 - ISBN 978-85-7522-886-9
#
# Site: https://python.nilo.pro.br/
#
# Arquivo: capítulo 10/10.1498 - Sem Título.py
# Página: 386
# Título: Classe Menu
##############################################################################
class Menu:
def __init__(self):
self.opções = [["Sair", None]]
def adiciona_opção(self, nome, função):
self.opções.append([nome, função])
def exibe(self):
print("====")
print("Menu")
print("====\n")
for i, opção in enumerate(self.opções):
print(f"[{i}] - {opção[0]}")
print()
def execute(self):
while True:
self.exibe()
escolha = valida_faixa_inteiro(
"Escolha uma opção: ", 0, len(self.opções) - 1
)
if escolha == 0:
break
self.opções[escolha][1]()