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

devtools/2024/10/11 13:26:58/

实现一个简单的任务列表管理系统,可以用于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()

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


http://www.ppmy.cn/devtools/44981.html

相关文章

修改ModelLink在RTX3090完成预训练、微调、推理、评估以及TRT-LLM转换、推理、性能测试

修改ModelLink在RTX3090完成预训练、微调、推理、评估以及TRT-LLM转换、推理、性能测试 1 参考文档2 测试环境3 创建容器4 安装AscendSpeed、ModelLink5 下载LLAMA2-7B预训练权重和词表6 huggingface模型的推理及性能测试7.1 修改torch,deepspeed规避缺失npu环境的问题7.2 修改…

《Python学习》-- 入门篇三

一、类的定义 Python是一种动态类型语言,可以在运行过程中添加、修改对象的类属性。这点和JAVA不同。 # 类 # 类是对象的抽象 # 类里面的函数称为方法 # 类的命名通常遵循用首字母大写的驼峰式命名法(CapWords,也称为骆驼式命名法&#xff0…

大数据信用报告分析和评估有什么意义

大数据信用这个词在现在已经是很常见的了,只要是申贷的朋友对它就不陌生,在明面上的信用资质刚刚满足审核要求,但又要把控风险的时候,这个时候大数据信用就会作为风控机构交叉核查的重要依据。那你知道大数据信用报告分析和评估有…

ros2 launch gazebo_ros gazebo.launch.py无法启动

现象: 我的系统是ubuntu22.04,ros2的版本是humble,当运行os2 launch gazebo_ros gazebo.launch.py命令,会卡死在第六行,gazebo也不会打开但最后单独使用gazebo则可以打开 原因: 没有设置环境变量 解决办法 …

java中String、List、数组之间的转换方式

在Java中,String、List 和数组(如 String[])之间的转换是常见的操作。下面是如何在它们之间进行转换的示例。 1. String 转 List 通常,你不会直接将一个完整的String转换为List,但你可以将包含多个元素的字符串&…

自动驾驶学习3-摄像头(1)

1、简介 车载摄像头指安装在汽车上,用于监控汽车内外环境情况以辅助汽车驾驶员行驶的摄像设备。智能驾驶的眼睛。 分类: 车载摄像头按安装位置的不同可分为前视、后视、环视、内视车载摄像头。 前视摄像头需要进行测距功能,所以一般分辨率要…

Firefox国际版

Firefox国际版官方网址: Download the Firefox Browser in English (US) and more than 90 other languagesEveryone deserves access to the internet — your language should never be a barrier. That’s why — with the help of dedicated volunteers around…

COMSOL中液晶材料光学特性模拟

前面我们根据FDTD官方文档设置了液晶指向的模型。COMSOL也可以根据相似的方法设置各项异性的周期性变化的材料。 该方法参考了luneburg_lens的COMSOL文档 在给出的文件中,可以发现定义-变量中可以使用默认坐标作为变量,即xyz。因此,折射率也可…