-
Notifications
You must be signed in to change notification settings - Fork 0
/
aula119.py
84 lines (66 loc) · 2.08 KB
/
aula119.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import os
import json
def listar(tarefas):
print()
if not tarefas:
print("Nenhuma tarefa listada!")
return
print("Tarefas:")
for tarefa in tarefas:
print(f'\t{tarefa}')
print()
def desfazer(tarefas, tarefas_desfazer):
print()
if not tarefas:
print("Nenhuma tarefa para ser desfeita!")
return
tarefa = tarefas.pop()
print(f'a tarefa {tarefa} foi removida!')
tarefas_desfazer.append(tarefa)
print()
def refazer(tarefas, tarefas_desfazer):
print()
if not tarefas_desfazer:
print("Nenhuma tarefa para refazer!")
return
tarefa = tarefas_desfazer.pop()
print(f'a tarefa {tarefa} foi adicionado!')
tarefas.append(tarefa)
print()
def adicionar(tarefa, tarefas):
print()
tarefa = tarefa.strip()
if not tarefa:
print("Você não digitou nenhuma tarefa!")
return
tarefas.append(tarefa)
def ler(tarefas, caminho_arquivo):
dados = []
try:
with open(caminho_arquivo, 'r', encoding='utf-8') as arquivo:
dados = json.load(arquivo)
except FileNotFoundError:
print('Arquivo não encontrado!')
salvar(tarefas, caminho_arquivo)
return dados
def salvar(tarefas, caminho_arquivo):
dados = tarefas
with open(caminho_arquivo, 'w', encoding='utf-8') as arquivo:
dados = json.dump(tarefas, arquivo, indent=2, ensure_ascii=False)
return dados
CAMINHO_ARQUIVO = 'aula119.json'
tarefas = ler([], CAMINHO_ARQUIVO)
tarefas_refazer = []
while True:
print('Comandos: listar, desfazer, refazer, clear, ler')
tarefa = input('Digite uma tarefa ou comando: ')
comandos = {
'listar': lambda: listar(tarefas),
'desfazer': lambda: desfazer(tarefas, tarefas_refazer),
'refazer': lambda: refazer(tarefas, tarefas_refazer),
'clear': lambda: os.system('cls'),
'adicionar': lambda: adicionar(tarefa, tarefas),
}
comandos = comandos.get(tarefa) if comandos.get(tarefa) is not None else comandos['adicionar']
comandos()
salvar(tarefas, CAMINHO_ARQUIVO)