python实战项目(二)图书管理系统


二、图书管理系统

(一)项目目标

通过实现一个简单的图书管理系统,学习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()

(四)学习要点

  1. 列表和字典操作:使用列表存储图书信息,每本图书用字典表示。
  2. 用户输入与输出:通过input()获取用户输入,通过print()输出结果。
  3. 循环与条件判断:使用while循环提供菜单选项,通过if-elif-else语句实现功能选择。
  4. 列表推导式:使用列表推导式快速过滤和操作列表。