Gerenciador de lista de tarefas Python CLI

Crie um gerenciador de lista de tarefas de linha de comando totalmente funcional em Python. Aprenda como mapear funções para comandos, gerenciar arrays e manipular estados.

Experimente no Editor

Visão geral

Os aplicativos de linha de comando (CLI) formam a espinha dorsal das ferramentas do desenvolvedor.

Este script mantém uma lista de tarefas na memória e fornece uma abordagem de menu para visualizar, adicionar e concluir tarefas.

A arquitetura imita um padrão primitivo model-view-controller (MVC), separando os dados (lista) da interação (funções).

Saída de código e execução

Um gerenciador de tarefas simples na memória que demonstra mutações de lista.

class TodoApp:
    def __init__(self):
        self.tasks = []
        
    def add_task(self, task):
        self.tasks.append({"title": task, "done": False})
        print(f"Added: '{task}'")
        
    def complete_task(self, index):
        if 0 <= index < len(self.tasks):
            self.tasks[index]["done"] = True
            print(f"Completed: '{self.tasks[index]['title']}'")
            
    def view_tasks(self):
        print("\n--- Your Tasks ---")
        for i, task in enumerate(self.tasks):
            status = "[x]" if task["done"] else "[ ]"
            print(f"{i}. {status} {task['title']}")
        print("------------------\n")

app = TodoApp()
app.add_task("Learn Python basics")
app.add_task("Build a portfolio project")
app.view_tasks()

app.complete_task(0)
app.view_tasks()
Saída terminal
Added: 'Learn Python basics'
Added: 'Build a portfolio project'

--- Your Tasks ---
0. [ ] Learn Python basics
1. [ ] Build a portfolio project
------------------

Completed: 'Learn Python basics'

--- Your Tasks ---
0. [x] Learn Python basics
1. [ ] Build a portfolio project
------------------

Implementação passo a passo

  • Utilitários de gerenciamento de tarefas
  • Exercícios de gerenciamento de estado orientado a objetos
  • Elementos básicos para funções robustas sem servidor

Perguntas frequentes

Como posso salvar as tarefas permanentemente?

Para persistir os dados, você escreveria a lista self.tasks em um arquivo (como tasks.json) usando o módulo `json` integrado do Python e carregaria-o durante `__init__`.

Tópicos Relacionados