import msvcrt
import os
def limpar_tela():
os.system("cls")
def pausa_limpa(texto):
print()
print(texto)
print("Aperte uma tecla para continuar", end="", flush=True)
msvcrt.getch()
limpar_tela()
def criando_lista_de_tarefas():
global lista_de_tarefas
lista_de_tarefas = []
def menu():
print("""
========= Menu =========
1 - Adicionar tarefa
2 - Vizualizar tarefas
3 - Remover tarefas
4 - Fechar programa
""")
def subtitulos(subtitulo):
limpar_tela()
linha = "-" * (len(subtitulo) + 4)
print(linha)
print(" ", subtitulo)
print(linha)
print()
def escolhendo_opcoes():
while True:
try:
menu()
opcao = int(input("Digite uma opção do menu: ").strip())
if opcao == 1:
pausa_limpa("Opção 1 selecionada")
adicionar_tarefa()
elif opcao == 2:
pausa_limpa("Opção 2 selecionada")
vizualizar_tarefas()
elif opcao == 3:
pausa_limpa("Opção 3 selecionada")
remover_tarefas()
elif opcao == 4:
pausa_limpa("Opção 4 selecionada")
print("Fim do programa")
break
else:
pausa_limpa("Opção inválida. Digite um número do menu.")
except ValueError:
pausa_limpa("Opção inválida. Digite apenas números")
continue
def adicionar_tarefa():
while True:
subtitulos("Adicionar Tarefas")
tarefa = input("Digite a tarefa ou 's' para sair: ").strip().lower()
if tarefa in ["s", "sair"]:
pausa_limpa("Voltar ao menu")
break
if not validando(tarefa):
pausa_limpa("Tarefa inválida. Contém apenas números ou caracteres especiais.")
continue
if any(item.lower() == tarefa for item in lista_de_tarefas):
pausa_limpa("Está tarefa já existe")
continue
lista_de_tarefas.append(tarefa.title())
pausa_limpa("Tarefa adicionada com sucesso")
#for item in lista_de_tarefas:
# if item.lower() == tarefa:
# pausa_limpa("Está tarefa já existe.")
# break
#else: #entra aqui se nao encontrou duplicata
# lista_de_tarefas.append(tarefa.title())
# pausa_limpa("Tarefa adicionada com sucesso.")
# continue
#oooou
#duplicada = False
#for item in lista_de_tarefas:
# if item.lower() == tarefa:
# duplicada = True
# pausa_limpa("Está tarefa já existe.")
# break
#
#if duplicada:
# continue
#se não duplicou, adiciona
#lista_de_tarefas.append(tarefa.title())
#pausa_limpa("Tarefa adicionada com sucesso.")
def validando(texto):
tem_letras = any(c.isalpha() for c in texto)
if texto == "" or not tem_letras:
return False
else:
return True
def listar_tarefas():
for i, atividade in enumerate(lista_de_tarefas, start = 1):
print(f"{i} - {atividade}")
def vizualizar_tarefas():
if not lista_de_tarefas:
print("A lista de atividades está vazia.")
pausa_limpa("Retornar ao menu")
else:
subtitulos("Lista de tarefas")
listar_tarefas()
pausa_limpa("Retornar ao menu")
def remover_tarefas():
while True:
limpar_tela()
if not lista_de_tarefas:
print("Não há tarefas para remover.")
pausa_limpa("Retornar ao menu")
break
subtitulos("Remover tarefas")
listar_tarefas()
print()
opcao = input("Digite o nome, número da tarefa que deseja remover ou 's' para sair: ").strip().lower()
if opcao in ["s", "sair"]:
pausa_limpa("Voltar ao menu")
break
#caso digite numero
if opcao.isdigit():
numero = int(opcao)
if 1 <= numero <= len(lista_de_tarefas):
tarefa_removida = lista_de_tarefas.pop(numero - 1) #escolhe apagar 4, mas o indice vai ser 3
pausa_limpa(f"Tarefa '{tarefa_removida}' removida com sucesso")
else:
pausa_limpa("Número fora do intervalo")
continue
#caso digite texto
else:
for tarefa in lista_de_tarefas:
if tarefa.lower() == opcao:
lista_de_tarefas.remove(tarefa)
pausa_limpa(f"Tarefa '{tarefa}' removida com sucesso")
break