Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Gerenciador de tarefas

task_list = []

while True:
    
    try:

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

        option_task = int(input('Escolha uma opção: '))

        if option_task == 1:

            add_task = input('Digite a tarefa: ')

            if add_task:
                task_list.append(add_task)
                print(f'Tarefa {add_task} adicionada !')
            else:
                print('Nenhuma tarefa adicionada')

        elif option_task == 2:
            for item in task_list:
                print(item)

        elif option_task == 3:

            remove_task = input('Digite o nome da tarefa que deseja remover:')

            if not task_list:
                print('Nenhuma tarefa para remover')

            elif remove_task:

                if remove_task in task_list:
                    print(f'Tarefa {remove_task} removida.')
                    task_list.remove(remove_task)
                else:
                    print(f'Tarefa {remove_task} não foi encontrada')
            else:
                print('Não foi inserido nenhuma informação para remoção')

        elif option_task == 4:
            print('Saindo do gerenciador de tarefas...')
            break

        else:
            print('Você selecionou a opção incorreta:')

    except:
        print('Opção invalida')
1 resposta

Olá, Gustavo. Como vai?

Obrigado por compartilhar sua solução do gerenciador de tarefas. Seu código atende à proposta da atividade e demonstra um bom uso de estruturas de repetição, condicionais, listas e tratamento de exceções para manter a aplicação em execução mesmo quando uma entrada inválida é informada. Também foi interessante incluir validações para impedir a adição de tarefas vazias e verificar se a lista possui itens antes de realizar uma remoção.

Há apenas uma sugestão de melhoria. No bloco except, é mais indicado capturar exceções específicas, como ValueError, em vez de utilizar um except genérico. Dessa forma, erros inesperados não ficam ocultos e a manutenção do código se torna mais simples. Outro detalhe é que, ao visualizar as tarefas, você poderia exibir uma mensagem caso a lista esteja vazia, tornando a experiência de uso mais clara.

Como próximo desafio, que tal adicionar uma numeração às tarefas para permitir que a remoção seja feita pelo índice em vez do nome?

Parabéns pela dedicação e por compartilhar sua solução. Continue praticando e conte com o fórum sempre que precisar.

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