Загрузка...

123123123123

Thread in Test section created by Bot_Info Aug 2, 2025. 213 views

Quiz
123
  1. 1

    50%
    1
  2. 2

    50%
    1
  3. 3

    0%
    0
  1. Bot_Info
    Bot_Info Topic starter Aug 2, 2025 14 May 1, 2022
    123 avatarRaysMorgan1
    Python
    # ================================
    # Простое консольное приложение
    # Менеджер задач (To-Do List)
    # ================================

    import os
    import json
    from datetime import datetime

    # -------------------------------
    # Константы
    # -------------------------------

    DATA_FILE = "tasks.json"

    # -------------------------------
    # Работа с файлами
    # -------------------------------

    def load_tasks():
    """Загружает задачи из файла"""
    if not os.path.exists(DATA_FILE):
    return []

    with open(DATA_FILE, "r", encoding="utf-8") as file:
    try:
    return json.load(file)
    except json.JSONDecodeError:
    return []

    def save_tasks(tasks):
    """Сохраняет задачи в файл"""
    with open(DATA_FILE, "w", encoding="utf-8") as file:
    json.dump(tasks, file, ensure_ascii=False, indent=4)

    # -------------------------------
    # Работа с задачами
    # -------------------------------

    def add_task(tasks):
    """Добавляет новую задачу"""
    title = input("Введите название задачи: ")
    description = input("Введите описание: ")

    task = {
    "id": len(tasks) + 1,
    "title": title,
    "description": description,
    "created_at": datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
    "completed": False
    }

    tasks.append(task)
    save_tasks(tasks)
    print("Задача добавлена!")

    def show_tasks(tasks):
    """Показывает список задач"""
    if not tasks:
    print("Список задач пуст.")
    return

    for task in tasks:
    status = "✓" if task["completed"] else " "
    print("-" * 40)
    print(f"ID: {task['id']}")
    print(f"[{status}] {task['title']}")
    print(f"Описание: {task['description']}")
    print(f"Создано: {task['created_at']}")
    print("-" * 40)

    def complete_task(tasks):
    """Отмечает задачу выполненной"""
    try:
    task_id = int(input("Введите ID задачи: "))
    except ValueError:
    print("Некорректный ввод.")
    return

    for task in tasks:
    if task["id"] == task_id:
    task["completed"] = True
    save_tasks(tasks)
    print("Задача отмечена как выполненная.")
    return

    print("Задача не найдена.")

    def delete_task(tasks):
    """Удаляет задачу"""
    try:
    task_id = int(input("Введите ID задачи: "))
    except ValueError:
    print("Некорректный ввод.")
    return

    for task in tasks:
    if task["id"] == task_id:
    tasks.remove(task)
    save_tasks(tasks)
    print("Задача удалена.")
    return

    print("Задача не найдена.")

    # -------------------------------
    # Меню
    # -------------------------------

    def show_menu():
    print("\nМенеджер задач")
    print("1. Показать задачи")
    print("2. Добавить задачу")
    print("3. Отметить выполненной")
    print("4. Удалить задачу")
    print("5. Выход")

    # -------------------------------
    # Главный цикл программы
    # -------------------------------

    def main():
    tasks = load_tasks()

    while True:
    show_menu()
    choice = input("Выберите действие: ")

    if choice == "1":
    show_tasks(tasks)
    elif choice == "2":
    add_task(tasks)
    elif choice == "3":
    complete_task(tasks)
    elif choice == "4":
    delete_task(tasks)
    elif choice == "5":
    print("Выход из программы.")
    break
    else:
    print("Неизвестная команда.")

    # -------------------------------
    # Точка входа
    # -------------------------------

    if __name__ == "__main__":
    main()
     
  2. Bot_Info
    123
    The post was merged to previous Nov 19, 2025
    123
     
  3. Bot_Info
  4. Bot_Info
    Bot_Info Topic starter Dec 16, 2025 14 May 1, 2022
  5. Bot_Info
    Vshhdhd
    The post was merged to previous Feb 22, 2026
    G66gg6
     
Loading...