feat(python进阶): 新增进阶综合项目课程
This commit is contained in:
52
02_python进阶/2_9_python进阶综合项目/main.py
Normal file
52
02_python进阶/2_9_python进阶综合项目/main.py
Normal file
@@ -0,0 +1,52 @@
|
||||
# 第 2-9 课完整示例:多文件任务管理程序入口
|
||||
#
|
||||
# 直接运行本文件会创建当前课程目录下的 task_data/tasks.json。
|
||||
# 该文件是练习数据,已通过 .gitignore 排除,不会被提交到 Git。
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
from task_service import add_task, build_task_report, complete_task, generate_pending_tasks
|
||||
from task_store import load_tasks, save_tasks
|
||||
|
||||
|
||||
LESSON_DIR = Path(__file__).parent
|
||||
DATA_FILE = LESSON_DIR / "task_data" / "tasks.json"
|
||||
|
||||
|
||||
def print_task(task: dict[str, object]) -> None:
|
||||
"""按统一格式输出一条任务。"""
|
||||
status_text = "已完成" if task["completed"] else "未完成"
|
||||
print(f"[{task['id']}] {task['title']}|优先级:{task['priority']}|状态:{status_text}")
|
||||
|
||||
|
||||
def main() -> None:
|
||||
"""按照读取、修改、保存和汇总的顺序运行完整示例。"""
|
||||
tasks = load_tasks(DATA_FILE)
|
||||
print(f"读取到 {len(tasks)} 条已有任务。")
|
||||
|
||||
try:
|
||||
first_task = add_task(tasks, "整理本课学习笔记", "高")
|
||||
second_task = add_task(tasks, "运行任务管理程序", "中")
|
||||
except ValueError as error:
|
||||
# 本示例会传入合法标题;这里演示业务错误的安全处理方式。
|
||||
print(f"添加任务失败:{error}")
|
||||
return
|
||||
|
||||
complete_task(tasks, int(first_task["id"]))
|
||||
save_tasks(DATA_FILE, tasks)
|
||||
|
||||
print("\n本次新增的任务:")
|
||||
print_task(first_task)
|
||||
print_task(second_task)
|
||||
|
||||
print("\n未完成任务:")
|
||||
for task in generate_pending_tasks(tasks):
|
||||
print_task(task)
|
||||
|
||||
report = build_task_report(tasks)
|
||||
print("\n任务汇总:")
|
||||
print(f"全部:{report['total']} 条,已完成:{report['completed']} 条,未完成:{report['pending']} 条。")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user