Solução do Exercício - Lista de tarefas com opções de desfazer e refazer
This commit is contained in:
75
aula119.py
75
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
|
||||
|
||||
Reference in New Issue
Block a user