Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Gerenciador de Tarefas

import os

lista_de_tarefas = []

def limpar_tela():
    os.system('cls')

def exibir_menu():
    print('1. Adicionar tarefa')
    print('2. Visualizar tarefas')
    print('3. Remover tarefa')
    print('4. Sair')

def adicionar_tarefa(lista):
    limpar_tela()
    print('Adicionar tarefa')
    tarefa = input('Digite a terefa: ').strip()
    lista.append(tarefa)
    print(f'Tarefa {tarefa} adicionada!\n')

def visualizar_tarefas(lista):
    limpar_tela()
    print('Lista de tarefas')
    
    if not lista:
        print('Nenhuma tarefa adicionada.\n')
    else:
        for i, tarefa in enumerate(lista):
            print(f'{i+1}. {tarefa}')
        print()

def remover_tarefa(lista):
    limpar_tela()
    print('Remover tarefa')
    if not lista:
        print('Erro: Nenhuma tarefa para remover.\n')
        return

    for i, tarefa in enumerate(lista, 1):
        print(f'{i}. {tarefa}')
    print()

    try:
        num = int(input('Digite o número da tarefa a ser removida: '))
        if 1 <= num <= len(lista):
            tarefa_removida = lista.pop(num - 1)
            print(f"Tarefa '{tarefa_removida}' removida!\n")
        else:
            print('Erro: Número inválido.\n')
    except ValueError:
        print('Erro: Entrada inválida! Digite um número.\n')

def main():
    while True:
        exibir_menu()
        try:
            opcao = int(input('Escolha uma opção: '))
            match opcao:
                case 1:
                    adicionar_tarefa(lista_de_tarefas)
                case 2:
                    visualizar_tarefas(lista_de_tarefas)
                case 3:
                    remover_tarefa(lista_de_tarefas)
                case 4:
                    print('Saindo do gerenciador de tarefas. Até mais!')
                    break
                case _:
                    print('Erro: Opção inválida! Escolha uma opção entre 1 e 4.\n')
        except ValueError:
            print('Erro: Opção inválida! Escolha uma opção entre 1 e 4.\n')

if __name__ == '__main__':
    main()

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta
solução!

Oi, Matheus! Como vai?

Agradeço por compartilhar.

Gostei de como você estruturou as funções e utilizou o match para controlar o fluxo principal do programa. Isso deixa o código limpo e fácil de entender. O tratamento de erros com try/except também foi bem aplicado, tornando o sistema mais robusto.

Uma dica interessante para o futuro é usar o método enumerate() com o parâmetro start=1 para numerar itens automaticamente, evitando ter que somar manualmente. Veja este exemplo:


tarefas = ["Estudar", "Ler", "Treinar"]

for i, tarefa in enumerate(tarefas, start=1):
    print(f"{i}. {tarefa}")

Esse código lista as tarefas numeradas a partir de 1, de forma simples e direta.

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