python编写一个简单的日程管理工具。包含添加日程,查询日程(按关键字查询),删除日程,查询日程列表(显示日程序号),编辑日程(输入序号和关键字查询原日程并修改),退出程序的功能
时间: 2024-05-15 11:14:09 浏览: 10
好的,我可以帮您编写一个简单的日程管理工具。
首先,我们需要定义一些基本的数据结构和函数,比如用一个列表来存储所有的日程,每个日程是一个字典,包含日期、时间、标题、内容等信息。然后我们可以定义一些函数来实现添加、查询、删除、编辑和退出程序的功能。
```python
schedules = [] # 存储所有的日程
def add_schedule():
"""添加日程"""
date = input("请输入日期(格式:YYYY-MM-DD):")
time = input("请输入时间(格式:HH:MM):")
title = input("请输入标题:")
content = input("请输入内容:")
schedule = {"date": date, "time": time, "title": title, "content": content}
schedules.append(schedule)
print("日程添加成功!")
def search_schedule(keyword):
"""按关键字查询日程"""
results = []
for i, schedule in enumerate(schedules):
if keyword in schedule["title"] or keyword in schedule["content"]:
results.append((i, schedule))
if len(results) == 0:
print("没有找到符合条件的日程!")
else:
print("查询结果如下:")
for i, schedule in results:
print(f"{i + 1}. {schedule['date']} {schedule['time']} {schedule['title']}")
def delete_schedule(index):
"""删除日程"""
if index < 1 or index > len(schedules):
print("无效的日程编号!")
else:
del schedules[index - 1]
print("日程删除成功!")
def list_schedules():
"""显示日程列表"""
if len(schedules) == 0:
print("暂无日程!")
else:
print("日程列表如下:")
for i, schedule in enumerate(schedules):
print(f"{i + 1}. {schedule['date']} {schedule['time']} {schedule['title']}")
def edit_schedule(index, keyword):
"""编辑日程"""
if index < 1 or index > len(schedules):
print("无效的日程编号!")
else:
schedule = schedules[index - 1]
schedule["title"] = input("请输入新的标题(回车表示不修改):") or schedule["title"]
schedule["content"] = input("请输入新的内容(回车表示不修改):") or schedule["content"]
print("日程修改成功!")
def main():
"""主函数"""
while True:
print("请选择操作:")
print("1. 添加日程")
print("2. 按关键字查询日程")
print("3. 删除日程")
print("4. 显示日程列表")
print("5. 编辑日程")
print("6. 退出程序")
choice = input()
if choice == "1":
add_schedule()
elif choice == "2":
keyword = input("请输入查询关键字:")
search_schedule(keyword)
elif choice == "3":
index = int(input("请输入要删除的日程编号:"))
delete_schedule(index)
elif choice == "4":
list_schedules()
elif choice == "5":
index = int(input("请输入要编辑的日程编号:"))
keyword = input("请输入修改关键字(回车表示不修改):")
edit_schedule(index, keyword)
elif choice == "6":
print("程序已退出。")
break
else:
print("无效的操作,请重新选择!")
if __name__ == "__main__":
main()
```
这里我们使用了一个 `while` 循环来不断接受用户输入,并根据用户的选择调用相应的函数。其中,`if __name__ == "__main__":` 判断语句是为了在其他模块调用时不执行 `main()` 函数。
这个程序还有很多可以改进的地方,比如可以加入异常处理、数据持久化等功能。不过以上代码已经能够满足您的基本需求。