任务管理系统 Python

简介

任务管理系统是一种用于管理和追踪任务的工具,可以帮助团队协同工作、提高效率。本文将介绍如何使用 Python 构建一个简单的任务管理系统,包括创建任务、查看任务列表、编辑任务和删除任务等功能。

功能列表

  • 创建任务:输入任务名称、任务描述和截止日期,保存到任务列表中。
  • 查看任务列表:显示已保存的所有任务。
  • 编辑任务:根据用户输入的任务名称,修改任务的描述和截止日期。
  • 删除任务:根据用户输入的任务名称,从任务列表中删除对应的任务。

类图

classDiagram
    class Task {
        - name: str
        - description: str
        - deadline: str
        
        + __init__(self, name: str, description: str, deadline: str)
        + get_name(self) -> str
        + get_description(self) -> str
        + get_deadline(self) -> str
        + set_description(self, description: str) -> None
        + set_deadline(self, deadline: str) -> None
    }
    
    class TaskManager {
        - tasks: list
        
        + __init__(self)
        + create_task(self, name: str, description: str, deadline: str) -> None
        + view_tasks(self) -> None
        + edit_task(self, name: str, description: str, deadline: str) -> None
        + delete_task(self, name: str) -> None
    }

代码实现

首先创建一个 Task 类来表示任务,它包含任务的名称、描述和截止日期等属性,以及获取和修改这些属性的方法。

class Task:
    def __init__(self, name, description, deadline):
        self.name = name
        self.description = description
        self.deadline = deadline
    
    def get_name(self):
        return self.name
    
    def get_description(self):
        return self.description
    
    def get_deadline(self):
        return self.deadline
    
    def set_description(self, description):
        self.description = description
    
    def set_deadline(self, deadline):
        self.deadline = deadline

接下来创建一个 TaskManager 类来管理任务列表,它包含一个任务列表属性 tasks,以及创建、查看、编辑和删除任务的方法。

class TaskManager:
    def __init__(self):
        self.tasks = []
    
    def create_task(self, name, description, deadline):
        task = Task(name, description, deadline)
        self.tasks.append(task)
    
    def view_tasks(self):
        if len(self.tasks) == 0:
            print("没有任务!")
        else:
            for task in self.tasks:
                print("任务名称:", task.get_name())
                print("任务描述:", task.get_description())
                print("截止日期:", task.get_deadline())
                print()
    
    def edit_task(self, name, description, deadline):
        for task in self.tasks:
            if task.get_name() == name:
                task.set_description(description)
                task.set_deadline(deadline)
    
    def delete_task(self, name):
        for task in self.tasks:
            if task.get_name() == name:
                self.tasks.remove(task)

流程图

flowchart TD
    start[开始]
    input_task_name[输入任务名称]
    input_task_description[输入任务描述]
    input_task_deadline[输入截止日期]
    create_task[创建任务]
    view_tasks[查看任务列表]
    edit_task[编辑任务]
    delete_task[删除任务]
    end[结束]
    
    start --> input_task_name
    input_task_name --> input_task_description
    input_task_description --> input_task_deadline
    input_task_deadline --> create_task
    create_task --> view_tasks
    view_tasks --> edit_task
    view_tasks --> delete_task
    edit_task --> view_tasks
    delete_task --> view_tasks
    view_tasks --> end

示例代码

task_manager = TaskManager()

while True:
    print("-- 任务管理系统 --")
    print("1. 创建任务")
    print("2. 查看任务列表")
    print("3. 编辑任务")
    print("4. 删除任务")
    print("5. 退出")
    
    choice = input("请选择操作: ")
    
    if choice == "1":
        name = input("请输入任务名称: ")
        description = input("请输入任务描述: ")
        deadline = input("请输入截止日期: ")
        task_manager.create_task(name, description, deadline)
        print("任务创建成功!")
    elif choice == "2":
        task_manager.view_tasks()
    elif choice == "3":
        name = input("请输入要编辑的任务名称: ")
        description = input