1
resposta

Gerenciador de tarefas

Ana precisa de um programa simples para gerenciar suas tarefas diárias. Ela quer poder adicionar, visualizar e remover tarefas de uma lista.

Crie um programa com um menu interativo que permita ao usuário adicionar, visualizar e remover tarefas. Use uma lista para armazenar as tarefas.

Exemplo de entrada:

  1. Adicionar tarefa
  2. Visualizar tarefas
  3. Remover tarefa
  4. Sair
    Escolha uma opção:

Saída esperada:

Digite a tarefa: Estudar Python
Tarefa adicionada!

Caso selecione a opção 2 ao adicionar uma tarefa:

Tarefas:

  1. Estudar Python
  • Caso selecione a opção 3 com uma tarefa adicionada:

Digite o número da tarefa a ser removida: 1
Tarefa 'Estudar Python' removida!

  • Caso selecione a opção 3 sem uma tarefa adicionada:

Digite o número da tarefa a ser removida: Estudar Python
Erro: Nenhuma tarefa para remover.

  • Caso selecione a opção 3 com uma opção inválida:

Escolha uma opção: 3
Digite o número da tarefa a ser removida: ABC
Erro: Entrada inválida! Digite um número.

  • Caso selecione nenhuma das opções listadas:

Escolha uma opção: 5
Erro: Opção inválida! Escolha uma opção entre 1 e 4.

  • Caso selecione a opção 4:

Escolha uma opção: 4
Saindo do gerenciador de tarefas. Até mais!

tarefas = []

while True:
  print("1: Adicionar uma tarefa.\n2: Visualizar a lista de tarefas.\n3: Remover uma tarefa da lista.\n4: Sair do programa.")
  opcao = int(input("Escolha uma opção: "))

  if opcao == 1:
    nova_tarefa = input("Digite uma nova tarefa: ").strip().upper()
    if nova_tarefa:
      tarefas.append(nova_tarefa)
      print(f"Tarefa \"{nova_tarefa}\" adicionada!")
    else:
      print("Erro:Tarefa inexistente(vazia)!")


  elif opcao == 2:
      visualizar_tarefas = len(tarefas)
      if visualizar_tarefas == 0:
        print("Nenhuma tarefa cadastrada.")
      else:
        for i, tarefa in enumerate(tarefas, 1):
          print(f"{i}: {tarefa}")
          print()


  elif opcao == 3:
    if len(tarefas) == 0:
      print("Nenhuma tarefa para remover.")
      continue

    try:
      numero_tarefa = int(input("Digite o número da tarefa a ser removida: ")) - 1
      if 0 <= numero_tarefa <= len(tarefas):
        tarefa_removida = tarefas.pop(numero_tarefa)
        print(f"Tarefa \"{tarefa_removida}\" removida!")

      else:
        print("Erro: Índice inválido!")

    except ValueError:
      print("Erro: Entrada inválida! Digite um número.")

  elif opcao == 4:
    print("Saindo do gerenciador de tarefas. Até mais!")
    break

  else:
    print("Erro: Opção inválida! Escolha uma opção entre 1 e 4.")

1: Adicionar uma tarefa.
2: Visualizar a lista de tarefas.
3: Remover uma tarefa da lista.
4: Sair do programa.
Escolha uma opção: 1
Digite uma nova tarefa: estudar
Tarefa "ESTUDAR" adicionada!
1: Adicionar uma tarefa.
2: Visualizar a lista de tarefas.
3: Remover uma tarefa da lista.
4: Sair do programa.
Escolha uma opção: 2
1: ESTUDAR

1: Adicionar uma tarefa.
2: Visualizar a lista de tarefas.
3: Remover uma tarefa da lista.
4: Sair do programa.
Escolha uma opção: 3
Digite o número da tarefa a ser removida: 1
Tarefa "ESTUDAR" removida!
1: Adicionar uma tarefa.
2: Visualizar a lista de tarefas.
3: Remover uma tarefa da lista.
4: Sair do programa.
Escolha uma opção: 4
Saindo do gerenciador de tarefas. Até mais!
1 resposta

Ei! Tudo bem, Carlos?

Parabéns pela resolução! O seu código ficou muito bem estruturado e você demonstrou um ótimo domínio de lógica ao utilizar o bloco try-except para tratar erros de entrada de dados e o enumerate para listar as tarefas com índices amigáveis para o usuário.

Continue se dedicando aos estudos e qualquer dúvida, compartilhe no fórum.

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