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

[Sugestão] projeto gerenciador de tarefas

import os


lista=[{'tarefa':'Estudar Git','numero': 1},{'tarefa':'Estudar Python','numero':2}]

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

def subtitulos(texto):
   char=('*' * len(texto))
   print(char)
   print(texto)
   print(char)
   
   

def exibir_opcoes():
   subtitulos('GERENCIADOR DE TAREFAS')
   print('1.Adicionar tarefa\n')
   print('2.Visualizar tarefas\n')
   print('3.Remover tarefas\n')
   print('4.Sair\n')



def gerenciador_de_tarefas():
 
   try:
       limpar_tela()
       exibir_opcoes()
       escolha_de_opcao=int(input('Escolha uma das opções acima: '))
       if escolha_de_opcao==1:
          adicionar_tarefas()
       elif escolha_de_opcao ==2:
          visualizar_tarefas()
       elif escolha_de_opcao==3:
          remover_tarefas()
       elif escolha_de_opcao==4:
          sair_do_gerenciador()
       else:
          print('Erro: Opção inválida! Escolha uma opção entre 1 e 4.')
   except ValueError:
      print('Erro: Entrada inválida! Digite um número.')

def adicionar_tarefas():
   limpar_tela()
   subtitulos('CADASTRO DE TAREFAS')
   tarefa_adicionada=input('\nDigite uma tarefa: ')  
   lista.append(tarefa_adicionada)
   print('\n ----> Tarefa adicionada com sucesso! <----')
   input('\nClique uma tecla para voltar ao menu inicial: ')
   gerenciador_de_tarefas()
  
def visualizar_tarefas():
   limpar_tela()
   subtitulos('ATIVIDADES CADASTRADAS')
   print(f'\n{'Nome da Tarefa'.ljust(5)}|{'Número da atividade'}')
   for tarefa in lista:
      print (f'{tarefa['tarefa'].ljust(14)}|{tarefa['numero']}')

def remover_tarefas():

   limpar_tela()
   subtitulos('REMOÇÃO DE TAREFAS')
   try:
    tarefa_removida=int(input('\nDigite o número da tarefa que deseja remover: '))

    if not lista: 
      print('\n Erro: Nenhuma tarefa para remover.')
      print('\n ----> Volte para o Menu Principal e Adicione uma Tarefa <----')
      input('\nClique uma tecla para voltar ao menu inicial: ')
      gerenciador_de_tarefas()

   
      for tarefa in lista:
       if tarefa['numero'] == tarefa_removida:
        lista.remove(tarefa)
        print('\n ----> Tarefa removida com sucesso! <----')
        input('\nClique uma tecla para voltar ao menu inicial: ')
        gerenciador_de_tarefas()



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



def sair_do_gerenciador():
   limpar_tela()
   print('Saindo do gerenciador de tarefas. Até mais!')
   


gerenciador_de_tarefas()
1 resposta
solução!

Oi, Andressa! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Gostei de como você organizou o projeto em funções (menu, adicionar, visualizar, remover) e já incluiu try/except para tratar entradas inválidas, isso deixa o fluxo mais seguro e fácil de manter.

Uma dica interessante para o futuro é usar len(lista) + 1 para gerar o número automaticamente e manter a lista sempre com o mesmo formato (dicionários), evitando misturar texto solto com itens completos. Veja este exemplo:


def adicionar_tarefas():
    tarefa = input("Digite uma tarefa: ")
    novo_item = {"tarefa": tarefa, "numero": len(lista) + 1}
    lista.append(novo_item)

No código acima, novo_item = {"tarefa": tarefa, "numero": len(lista) + 1} cria um item com o nome e um número sequencial, e depois lista.append(novo_item) adiciona esse item na lista.

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