Solução do Exercício - Lista de tarefas com opções de desfazer e refazer

This commit is contained in:
Luiz Otávio
2022-11-10 20:52:24 -03:00
parent 92341be010
commit ec388f6e29

View File

@@ -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