Диспетчер списков задач Python CLI

Создайте полнофункциональный менеджер списка дел с командной строкой на Python. Узнайте, как сопоставлять функции с командами, управлять массивами и обрабатывать состояние.

Попробуйте в редакторе

Обзор

Приложения командной строки (CLI) составляют основу инструментов разработчика.

Этот сценарий хранит список задач в памяти и предоставляет меню для просмотра, добавления и выполнения задач.

Архитектура имитирует примитивный шаблон модель-представление-контроллер (MVC), отделяя данные (список) от взаимодействия (функций).

Код и вывод выполнения

Простой диспетчер задач в памяти, демонстрирующий мутации списков.

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()
Терминальный выход
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
------------------

Пошаговая реализация

  • Утилиты управления задачами
  • Упражнения по объектно-ориентированному управлению состоянием
  • Строительные блоки для надежных бессерверных функций

Часто задаваемые вопросы

Как я могу сохранить задачи навсегда?

Чтобы сохранить данные, вы должны записать список self.tasks в файл (например, Tasks.json), используя встроенный модуль Python `json`, и загрузить его во время `__init__`.

Связанные темы