From ec388f6e294f8a8bc6c401b8628d757c5fdd39fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luiz=20Ot=C3=A1vio?= Date: Thu, 10 Nov 2022 20:52:24 -0300 Subject: [PATCH] =?UTF-8?q?Solu=C3=A7=C3=A3o=20do=20Exerc=C3=ADcio=20-=20L?= =?UTF-8?q?ista=20de=20tarefas=20com=20op=C3=A7=C3=B5es=20de=20desfazer=20?= =?UTF-8?q?e=20refazer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- aula119.py | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/aula119.py b/aula119.py index a3653b8..1877d44 100644 --- a/aula119.py +++ b/aula119.py @@ -8,3 +8,78 @@ # desfazer = [] -> Refazer ['caminhar', 'fazer café'] # refazer = todo ['fazer café'] # refazer = todo ['fazer café', 'caminhar'] +import os + + +def listar(tarefas): + print() + if not tarefas: + print('Nenhuma tarefa para listar') + return + + print('Tarefas:') + for tarefa in tarefas: + print(f'\t{tarefa}') + print() + + +def desfazer(tarefas, tarefas_refazer): + print() + if not tarefas: + print('Nenhuma tarefa para desfazer') + return + + tarefa = tarefas.pop() + print(f'{tarefa=} removida da lista de tarefas.') + tarefas_refazer.append(tarefa) + print() + + +def refazer(tarefas, tarefas_refazer): + print() + if not tarefas_refazer: + print('Nenhuma tarefa para refazer') + return + + tarefa = tarefas_refazer.pop() + print(f'{tarefa=} adicionada na lista de tarefas.') + tarefas.append(tarefa) + print() + + +def adicionar(tarefa, tarefas): + print() + tarefa = tarefa.strip() + if not tarefa: + print('Você não digitou uma tarefa.') + return + print(f'{tarefa=} adicionada na lista de tarefas.') + tarefas.append(tarefa) + print() + + +tarefas = [] +tarefas_refazer = [] + +while True: + print('Comandos: listar, desfazer e refazer') + tarefa = input('Digite uma tarefa ou comando: ') + + if tarefa == 'listar': + listar(tarefas) + continue + elif tarefa == 'desfazer': + desfazer(tarefas, tarefas_refazer) + listar(tarefas) + continue + elif tarefa == 'refazer': + refazer(tarefas, tarefas_refazer) + listar(tarefas) + continue + elif tarefa == 'clear': + os.system('clear') + continue + else: + adicionar(tarefa, tarefas) + listar(tarefas) + continue