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

[Sugestão] Gerenciador de tarefas

def gerenciador_de_tarefas():
    tarefas = []

    while True:
        print('\n1:Adicionar uma tarefa. ')
        print('2: Visualizar a lista de tarefas. ')
        print('3: Remover uma tarefa da lista. ')
        print('4: Sair do programa.')

        opcao = input('Escolha uma opcao: ')

        if opcao == '1':
            tarefa = input('Digite a tarefa: ').strip()
            if tarefa:
                tarefas.append(tarefa)
                print('Terefa adicionada!')
            else:
                print('Erro: A terefa nao pode estar vazia.')
        elif opcao == '2':
            if tarefas:
                print('\nTarefas:')
                for i, tarefas in enumerate(tarefas, 1):
                    print(f'{i}. {tarefas}')
                else:
                    print('Nenhum tarefa cadastrada.')
        elif opcao == '3':
            if not  tarefas:
                print('ERRO: Nehuma tarefa para remover.')
                continue
            
            try:
                remover = int(input('Digite o numero da tarefa a ser removida: '))
                if 0 <= remover < len(tarefas):
                    removida = tarefas.pop(remover)
                    print(f'tarefa "{removida}" removida!')
                else:
                    print('ERRO: Indece invalido! Digite um numero valido. ')
            except ValueError:
                print('ERRO: Entrada invalida! Digite um numero.')
        elif opcao == '4':
            print('Saindo do gerenciador de tarefas. Ate mais!')
            break
        else:
            print('ERRO: Opcao invalida! Escolha uma opcao entre 1 e 4. ')
        
gerenciador_de_tarefas()
1 resposta

Oi, Apollo! Como vai?

Gostei da forma como você estruturou o menu utilizando while True e também do uso de try/except para tratar entradas inválidas. Isso demonstra uma preocupação importante com a experiência de quem vai utilizar o programa. Notei também que você utilizou strip() para evitar tarefas vazias, o que é uma ótima prática.

Uma dica interessante para o futuro é utilizar enumerate() junto com o índice correto na remoção das tarefas. Como a lista exibida começa em 1, você pode ajustar o valor informado pelo usuário antes de remover. Veja este exemplo:

<pre><code>
indice = int(input('Digite o numero da tarefa: ')) - 1

if 0 <= indice < len(tarefas):
    tarefa_removida = tarefas.pop(indice)
    print(tarefa_removida)
</code></pre>

Neste exemplo, indice recebe o número digitado pelo usuário e subtrai 1, alinhando a posição exibida na tela com os índices reais da lista.

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