Projeto bem desafiador mas excelente pra treinar a lógica. Ainda muitos pontos pra melhorar no código (refatorar, utilizar métodos diferentes) mas preciso avançar no curso kkk
import os
import sys
lista_tarefas = []
def main(lista_tarefas):
os.system('cls')
print('Gerenciador de Tarefas')
print()
print('1. Adicionar tarefa ')
print('2. Visualizar tarefas ')
print('3. Remover tarefa ')
print('4. Sair ')
print()
try:
opcao_escolhida = int(input('Escolha uma opção: '))
except ValueError:
os.system('cls')
print('Opção inválida. Tente novamente')
input('Pressione ENTER para retornar ao Menu Inicial ')
main(lista_tarefas)
if opcao_escolhida == 1:
adicionar_tarefa(lista_tarefas)
elif opcao_escolhida == 2:
visualizar_tarefas(lista_tarefas)
elif opcao_escolhida == 3:
if not lista_tarefas:
os.system('cls')
print('A lista de tarefas está vazia. Não há nada para remover. ')
input('Pressione ENTER para retornar ao Menu Inicial ')
main(lista_tarefas)
else:
remover_tarefa(lista_tarefas)
elif opcao_escolhida == 4:
print('Até a próxima...')
sys.exit()
return lista_tarefas
def adicionar_tarefa(lista_tarefas):
os.system('cls')
tarefa_usuario = input('Digite a tarefa que deseja inserir: ')
lista_tarefas.append(tarefa_usuario)
print(f'Tarefa {tarefa_usuario} inserida com sucesso ')
main(lista_tarefas)
return lista_tarefas
def visualizar_tarefas(lista_tarefas):
os.system('cls')
print('Lista de tarefas: ')
for tarefa in lista_tarefas:
print(f'{lista_tarefas.index(tarefa) + 1}. {tarefa}')
print()
input('Pressione ENTER para retornar ao Menu Inicial ')
main(lista_tarefas)
def remover_tarefa(lista_tarefas):
os.system('cls')
print('Lista de tarefas: ')
for tarefa in lista_tarefas:
print(f'{lista_tarefas.index(tarefa) + 1}. {tarefa}')
print()
tarefa_usuario = int(input('Digite o número da tarefa que deseja remover: '))
try:
if len(lista_tarefas) < tarefa_usuario:
print('Tarefa inexistente. ')
input('Pressione ENTER para retornar ao Menu Inicial')
main(lista_tarefas)
else:
os.system('cls')
print(f'Tarefa "{tarefa_usuario} - {lista_tarefas[tarefa_usuario - 1]}" foi removida com sucesso ')
lista_tarefas.pop(tarefa_usuario - 1)
input('Pressione ENTER para retornar ao Menu Inicial')
main(lista_tarefas)
return lista_tarefas
except ValueError:
input('Entrada Inválida. Pressione ENTER para retornar ao Menu Inicial')
main(lista_tarefas)
main(lista_tarefas)