实现一个简单的任务列表管理系统,可以用于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
和 TaskManager
。Task
类表示一个任务,具有名称和是否已完成的状态。TaskManager
类管理一组任务,并提供添加、查看、标记和删除任务的方法。主程序创建了一个 TaskManager
实例,并运行一个循环菜单,让用户可以选择执行不同的操作。