Na função remover_tarefa() o código chama a função visualizar_tarefas() pra o usuário saber qual tarefa ele quer excluir, porém como todas as funções tem uma função menu principal, no meio da chamada ela não continuava por conta da função menu_principal() em visualizar_tarefas(), que pede pra aperta uma tecla para continuar, resolvi colocando um if em visualizar_tarefa() e passar como parâmetro True quando for somente visualização e False quando for remover, isso seria gambiarra ? kkkkkk. Como poderia deixar o código melhor ?
Como um profissional otimizaria isso ?
main.py
from gerenciador import escolher_opcoes
escolher_opcoes()
gerenciador.py
listaDeTarefas = []
listaDeOpcoes = []
def menu_principal():
input('Digite uma tecla para voltar ao menu principal: ')
escolher_opcoes()
def menu_de_opcoes():
print('1. Adicionar tarefa')
print('2. Visualizar tarefas')
print('3. Remover tarefa')
print('4. Sair')
def escolher_opcoes():
try:
menu_de_opcoes()
opcaoEscolhida = int(input('Escolha uma opção: '))
if opcaoEscolhida == 1:
adicionar_tarefa()
elif opcaoEscolhida == 2:
visualizar_tarefa(True)
elif opcaoEscolhida == 3:
remover_tarefa()
else:
print('Saindo do gerenciado de tarefas. Até mais!')
except ValueError:
print('Opção inválida, tente novamente: ')
return menu_principal()
def adicionar_tarefa():
tarefa = input('Digite a tarefa: ')
listaDeTarefas.append(tarefa)
print('Tarefa adicionada!\n')
menu_principal()
def visualizar_tarefa(trueFalse):
numerador = 1
print('Tarefas adicionadas:\n')
for tarefa in listaDeTarefas:
print(f'{numerador}. {tarefa}')
numerador = numerador+1
if trueFalse:
print()
menu_principal()
def remover_tarefa():
print('Tarefas adicionadas:\n')
visualizar_tarefa(False)
print()
try:
numTarefa = int(input('Digite o número da tarefa a ser removidade: '))
del listaDeTarefas[numTarefa-1]
print('Tarefa Removida!')
menu_principal()
except ValueError:
print('Erro: Entrada inválida! Digite um número.')
return menu_principal()