1
resposta

Gerenciador de Tarefas

def adiciona_tarefa():
    print(list_tarefas)
    nome_tarefa = input('Informa a tarefa a ser adicionada: ')
    list_tarefas.append(nome_tarefa)
    contador =+ 1
    print(f'Tarefa {nome_tarefa} adicionada com sucesso !')
    print(list_tarefas)

def escolhe_opcao(erro):
    print()
    if erro == 'S':
      print('Opção escolhida inválida ! Escolha uma dessas opções abaixo ')
    else:
      print('Escolha uma dessas opções abaixo ')    
    print('1. Adicionar tarefa')
    print('2. Visualizar tarefas')
    print('3. Remover tarefa')
    print('4. Sair')
    opcao = int(input('Escolha uma opção:'))   
      
    print('')
    acao_tarefa(opcao)


def lista_tarefas():
    if list_tarefas:
      print("\nTarefas:")
      i = 1
      for tarefa in list_tarefas:
        print(f'{i}. {tarefa}')
        i += 1
    else:
       print("Erro: A lista de tarefas está vazia.")    


def excluir_tarefa():
    lista_tarefas()
    
    opcao_invalida = True

    try:
       id_tarefa = int(input('Digite o número da tarefa a ser removida:'))
       id_tarefa = id_tarefa - 1
       
       try:
         id_excluir = list_tarefas[id_tarefa]
         opcao_invalida = False

         nome_tarefa = list_tarefas[id_tarefa]
         print(nome_tarefa)
         list_tarefas.pop(id_tarefa)   
         print(f'Tarefa {id_tarefa+1} . {nome_tarefa} removida com sucesso !')
         opcao_invalida = False

       except IndexError:
         opcao_invalida = True
         opcao = 0
         print(f'A posição {id_tarefa+1} não existe na lista.')

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


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

def acao_tarefa(opcao):
    match opcao:
        case 1: adiciona_tarefa()
        case 2: lista_tarefas()
        case 3: excluir_tarefa()
        case 4: sair_sistema()
    

list_tarefas = []
contador = 1
opcao = 1
opcao_invalida = False

while opcao in (1,2,3,4):
  try:
    opcao = 0
    escolhe_opcao("N")

    while opcao not in (1,2,3,4):
        if (opcao == 0 or opcao == 2) and (opcao_invalida == False): 
            escolhe_opcao("N")
        else:    
            escolhe_opcao("S")

        
  except  ValueError:
    print('Opção inválida ! Informe um número de 1 a 4 !')
    escolhe_opcao("S")
  
1 resposta

Oi! Como vai?

Com base no que você explicou, percebi que a lógica está bem estruturada, mas no trecho contador =+ 1 o operador =+ acaba atribuindo o valor positivo de 1 em vez de somar. Para incrementar, use contador += 1. Isso vai garantir que o contador seja atualizado corretamente.

Uma dica interessante para o futuro é usar a função enumerate para percorrer listas com um índice automático, evitando precisar criar e somar manualmente o contador:


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

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

Esse código imprime cada item da lista com seu número, começando do 1.

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