天行学习助手天行学习助手

如何设置一个简单的使用Python实现的可以管理跟踪项目进度及完成情况的脚本示例,它通过命令行界面与用户进行交互,实现添加项目、更新进度、查看项目状态等功能。

以下是一个简单的使用Python实现的可以管理跟踪项目进度及完成情况的脚本示例,它通过命令行界面与用户进行交互,实现添加项目、更新进度、查看项目状态等功能。 ```python # 项目管理类 class ProjectManager: def __init__(self): self.projects = {} def add_project(self, project_name): if project_name in self.projects: print(f"项目 {project_name} 已存在。") else: self.projects[project_name] = {"进度": 0, "完成": False} print(f"成功添加项目 {project_name}。") def update_progress(self, project_name, progress): if project_name in self.projects: self.projects[project_name]["进度"] = progress if progress == 100: self.projects[project_name]["完成"] = True print(f"项目 {project_name} 的进度已更新为 {progress}%。") else: print(f"项目 {project_name} 不存在。") def check_status(self, project_name): if project_name in self.projects: status = "已完成" if self.projects[project_name]["完成"] else "进行中" print(f"项目 {project_name} 的状态:{status},进度:{self.projects[project_name]['进度']}%") else: print(f"项目 {project_name} 不存在。") if __name__ == "__main__": manager = ProjectManager() while True: print("\n项目管理系统菜单:") print("1. 添加项目") print("2. 更新项目进度") print("3. 查看项目状态") print("4. 退出") choice = input("请输入你的选择(1/2/3/4):") if choice == "1": project_name = input("请输入项目名称:") manager.add_project(project_name) elif choice == "2": project_name = input("请输入项目名称:") progress = int(input("请输入项目进度(0 - 100):")) manager.update_progress(project_name, progress) elif choice == "3": project_name = input("请输入项目名称:") manager.check_status(project_name) elif choice == "4": print("退出项目管理系统。") break else: print("无效的选择,请重新输入。") ``` 在这个脚本中: - `ProjectManager` 类用于管理项目。它有一个字典 `projects` 来存储项目信息,每个项目包含进度和是否完成的状态。 - `add_project` 方法用于添加新的项目到 `projects` 字典中。 - `update_progress` 方法用于更新指定项目的进度,并根据进度判断项目是否完成。 - `check_status` 方法用于查看指定项目的状态和进度。 - 在主程序部分,通过一个循环展示菜单,根据用户的选择调用 `ProjectManager` 类中的相应方法来实现与用户的交互操作,从而管理项目的进度和完成情况。 如果你希望有更复杂的界面,比如图形化界面(GUI),可以使用 `tkinter`、`PyQt` 等库来进一步扩展这个脚本。例如,使用 `tkinter` 来创建一个简单的图形化界面版本大致如下: ```python import tkinter as tk from tkinter import messagebox # 项目管理类 class ProjectManager: def __init__(self): self.projects = {} def add_project(self, project_name): if project_name in self.projects: messagebox.showinfo("提示", f"项目 {project_name} 已存在。") else: self.projects[project_name] = {"进度": 0, "完成": False} messagebox.showinfo("提示", f"成功添加项目 {project_name}。") def update_progress(self, project_name, progress): if project_name in self.projects: self.projects[project_name]["进度"] = progress if progress == 100: self.projects[project_name]["完成"] = True messagebox.showinfo("提示", f"项目 {project_name} 的进度已更新为 {progress}%。") else: messagebox.showinfo("提示", f"项目 {project_name} 不存在。") def check_status(self, project_name): if project_name in self.projects: status = "已完成" if self.projects[project_name]["完成"] else "进行中" messagebox.showinfo("提示", f"项目 {project_name} 的状态:{status},进度:{self.projects[project_name]['进度']}%") else: messagebox.showinfo("提示", f"项目 {project_name} 不存在。") if __name__ == "__main__": manager = ProjectManager() root = tk.Tk() root.title("项目管理系统") def add_project_command(): project_name = project_name_entry.get() manager.add_project(project_name) def update_progress_command(): project_name = project_name_entry.get() progress = int(progress_entry.get()) manager.update_progress(project_name, progress) def check_status_command(): project_name = project_name_entry.get() manager.check_status(project_name) project_name_label = tk.Label(root, text="项目名称:") project_name_label.pack() project_name_entry = tk.Entry(root) project_name_entry.pack() add_project_button = tk.Button(root, text="添加项目", command=add_project_command) add_project_button.pack() progress_label = tk.Label(root, text="项目进度(0 - 100):") progress_label.pack() progress_entry = tk.Entry(root) progress_entry.pack() update_progress_button = tk.Button(root, text="更新项目进度", command=update_progress_command) update_progress_button.pack() check_status_button = tk.Button(root, text="查看项目状态", command=check_status_command) check_status_button.pack() root.mainloop() ``` 这个 `tkinter` 版本的脚本创建了一个简单的图形化界面,包含输入框和按钮,通过点击按钮来调用 `ProjectManager` 类中的相应方法实现与之前命令行版本类似的功能,不过界面更加直观,便于用户操作。 请注意,以上代码只是一个简单的示例,实际应用中可能需要根据具体需求进行更多的扩展和优化,比如数据的持久化存储(将项目信息保存到文件或数据库中以便下次启动程序时能恢复数据)等。

相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

回到首页 发表评论 回到顶部

遇到问题?请给我们留言

请填写您的电话号码,我们将回复您电话