1
resposta

[RESPOSTA]

def monta_menu():
    menu = [
        "1. Adicionar tarefa",
        "2. Visualizar tarefas",
        "3. Remover tarefa",
        "4. Sair"
    ]
    for linha in menu:
        print(linha)

def gerenciador(numero):
    opcoes = {
        "1": lambda x: tarefas.append(x),
        "2": lambda: (print(f"{x+1}. {tarefas[x]}") for x in range(len(tarefas))),
        "3": lambda x: tarefas.pop(x),
        "4": lambda: exit()
    }
    return opcoes[numero]


tarefas = []
while True:
    monta_menu()
    escolha = input(f"Escolha uma opção: ")

    if escolha == "1":
        gerenciador(escolha)(input("Digite a tarefa: "))
        print("Tarefa adicionada!\n")
    elif escolha == "2":
        print("\nTarefas:")
        visualizar = gerenciador(escolha)()
        for _ in visualizar:
            pass
        print()
    elif escolha == "3":
        op = input("Digite o número da tarefa a ser removida: ")
        if not tarefas:
            print("Erro: Nenhuma tarefa para remover.")
        elif not op.isdigit() or int(op) < 1 or int(op) > len(tarefas):
            print("Erro: Entrada inválida! Digite um número.")
        else:
            print(f"Tarefa '{gerenciador(escolha)(int(op) - 1)}' removida!\n")
    elif escolha == "4":
        print("Saindo do gerenciador de tarefas. Até mais!")
        gerenciador(escolha)()
    else:
        print("Erro: Opção inválida! Escolha uma opção entre 1 e 4.")


Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Oi, Mauricio! Como vai?

Agradeço por compartilhar.

Gostei da sua solução; a ideia de centralizar ações no gerenciador é boa. Ótimo que você conseguiu estruturar o menu e as operações básicas; continue explorando funções e dicionários.

Continue firme nos estudos.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!