二、图书管理系统
(一)项目目标
通过实现一个简单的图书管理系统,学习Python的列表、字典操作以及基本的程序结构。
(二)项目描述
用户可以通过该系统添加、删除、查找和列出图书。每本图书包含书名、作者和ISBN号。
(三)逐步实现
1. 初始化图书列表
使用一个空列表存储图书信息,每本图书用字典表示。
books = []
2. 添加图书
通过用户输入获取书名、作者和ISBN号,并将其存储为字典,添加到列表中。
title = input("请输入书名:")
author = input("请输入作者:")
isbn = input("请输入ISBN号:")
books.append({"title": title, "author": author, "isbn": isbn})
print("图书已添加。")
3. 删除图书
通过ISBN号查找并删除图书。
isbn = input("请输入要删除的图书的ISBN号:")
books = [book for book in books if book["isbn"] != isbn]
print("图书已删除。")
4. 查找图书
通过ISBN号查找图书,并输出其详细信息。
isbn = input("请输入要查找的图书的ISBN号:")
found = [book for book in books if book["isbn"] == isbn]
if found:
print("找到图书:")
print(found[0])
else:
print("未找到图书。")
5. 列出所有图书
遍历图书列表,输出每本图书的详细信息。
if not books:
print("图书列表为空。")
else:
print("所有图书:")
for book in books:
print(f"书名:{book['title']}, 作者:{book['author']}, ISBN:{book['isbn']}")
6. 完整代码
将上述功能整合到一个循环中,提供菜单供用户选择操作。
def book_management():
books = []
while True:
print("\n图书管理系统:")
print("1. 添加图书")
print("2. 删除图书")
print("3. 查找图书")
print("4. 列出所有图书")
print("5. 退出")
choice = input("请输入选项:")
if choice == "1":
title = input("请输入书名:")
author = input("请输入作者:")
isbn = input("请输入ISBN号:")
books.append({"title": title, "author": author, "isbn": isbn})
print("图书已添加。")
elif choice == "2":
isbn = input("请输入要删除的图书的ISBN号:")
books = [book for book in books if book["isbn"] != isbn]
print("图书已删除。")
elif choice == "3":
isbn = input("请输入要查找的图书的ISBN号:")
found = [book for book in books if book["isbn"] == isbn]
if found:
print("找到图书:")
print(found[0])
else:
print("未找到图书。")
elif choice == "4":
if not books:
print("图书列表为空。")
else:
print("所有图书:")
for book in books:
print(f"书名:{book['title']}, 作者:{book['author']}, ISBN:{book['isbn']}")
elif choice == "5":
print("退出系统。")
break
else:
print("无效选项,请重新输入。")
if __name__ == "__main__":
book_management()
(四)学习要点
- 列表和字典操作:使用列表存储图书信息,每本图书用字典表示。
- 用户输入与输出:通过
input()
获取用户输入,通过print()
输出结果。 - 循环与条件判断:使用
while
循环提供菜单选项,通过if-elif-else
语句实现功能选择。 - 列表推导式:使用列表推导式快速过滤和操作列表。