python作业:实现一个任务列表管理系统,使用到python类、对象、循环等知识

实现一个简单的任务列表管理系统,可以用于python学习的作业或者练习。系统的功能包括:

用户可以添加任务、查看任务列表、标记任务为已完成,以及删除任务。

代码如下:

python 复制代码
class Task:  
    def __init__(self, name, completed=False):  
        self.name = name  
        self.completed = completed  
  
    def mark_as_completed(self):  
        self.completed = True  
  
    def __str__(self):  
        return f"{self.name} (已完成: {self.completed})"  
  
  
class TaskManager:  
    def __init__(self):  
        self.tasks = []  
  
    def add_task(self, name):  
        self.tasks.append(Task(name))  
        print(f"任务 '{name}' 已添加。")  
  
    def view_tasks(self):  
        print("任务列表:")  
        for idx, task in enumerate(self.tasks, 1):  
            if task.completed:  
                print(f"{idx}. {task.name} (已完成)")  
            else:  
                print(f"{idx}. {task.name}")  
  
    def complete_task(self, index):  
        try:  
            task = self.tasks[index - 1]  
            task.mark_as_completed()  
            print(f"任务 '{task.name}' 已标记为已完成。")  
        except IndexError:  
            print("无效的任务索引。")  
  
    def delete_task(self, index):  
        try:  
            self.tasks.pop(index - 1)  
            print("任务已删除。")  
        except IndexError:  
            print("无效的任务索引。")  
  
    def run_menu(self):  
        while True:  
            print("""  
            任务管理菜单:  
            1. 添加任务  
            2. 查看任务列表  
            3. 标记任务为已完成  
            4. 删除任务  
            5. 退出  
            """)  
            choice = input("请输入您的选择(1-5):")  
  
            if choice == '1':  
                name = input("请输入任务名称:")  
                self.add_task(name)  
            elif choice == '2':  
                self.view_tasks()  
            elif choice == '3':  
                index = input("请输入要标记为已完成的任务的索引(从1开始):")  
                if index.isdigit():  
                    self.complete_task(int(index))  
                else:  
                    print("请输入一个有效的数字索引。")  
            elif choice == '4':  
                index = input("请输入要删除的任务的索引(从1开始):")  
                if index.isdigit():  
                    self.delete_task(int(index))  
                else:  
                    print("请输入一个有效的数字索引。")  
            elif choice == '5':  
                print("退出程序。")  
                break  
            else:  
                print("无效的选择,请重新输入。")  
  
  
if __name__ == "__main__":  
    manager = TaskManager()  
    manager.run_menu()

在这个程序中,我们定义了两个类:TaskTaskManagerTask 类表示一个任务,具有名称和是否已完成的状态。TaskManager 类管理一组任务,并提供添加、查看、标记和删除任务的方法。主程序创建了一个 TaskManager 实例,并运行一个循环菜单,让用户可以选择执行不同的操作。

相关推荐
小柯南敲键盘3 小时前
跨马翻译:AI批量图片翻译工具,跨境电商视频字幕翻译与智能抠图一体搞定
人工智能·python·音视频
2601_962297253 小时前
Python里behave和pytest-bdd哪个更适合中大型项目?为什么?
python·bdd·行为驱动开发·behave·pytest-bdd
YCOSA20255 小时前
系统工具使用检测.exe (仅供娱乐)
python·microsoft
2601_962295335 小时前
如何python实现网页的自动化
python·selenium·beautifulsoup·requests·网页自动化
ofoxcoding5 小时前
GPT Image 2.5 API 实战:Python 调用实现图片生成与编辑
人工智能·python·gpt·ai
张小姐的猫6 小时前
【AI大模型接入SDK】 —— Gemini接入封装
android·数据结构·数据库·c++·人工智能·python
Elastic 中国社区官方博客6 小时前
Elasticsearch Python DSL 客户端开发
大数据·数据库·python·elasticsearch·搜索引擎·全文检索
计算机编程-吉哥7 小时前
脑肿瘤MRI智能识别系统:基于深度学习的像素级脑肿瘤语义分割平台【计算机毕业设计选题推荐】
人工智能·python·深度学习·算法·毕业设计·课程设计·大数据毕业设计选题推荐
小木_.7 小时前
Python 离线识别滑块缺口距离,项目推荐
开发语言·python·滑块识别·人机验证·滑块缺口·缺口识别
Cenxi7 小时前
Python字符串方法练习手册
人工智能·python