前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 实战案例:简单的图书管理系统

Python 实战案例:简单的图书管理系统

作者头像
剑指工控
发布2024-06-18 12:28:18
3500
发布2024-06-18 12:28:18
举报
文章被收录于专栏:剑指工控剑指工控

JZGKCHINA

工控技术分享平台

1、引言

本文使用 Python 编写一个简单的图书管理系统,通过我们学习过的 if 语句、for 循环、while 循环、列表和字典等功能,帮助读者了解如何使用 Python 创建一个实用的管理程序。

在现代生活中,图书管理对于图书馆、书店或个人藏书者来说都是一项重要任务。为了帮助你更有效地管理图书,我们将使用 Python 编写一个简单的图书管理系统。这个程序将允许你添加、查看、删除和搜索图书,让你的图书管理变得更加方便和高效。

2、功能介绍

  1. 添加图书:你可以输入图书的详细信息,并将其添加到系统中。
  2. 查看图书:你可以查看当前的图书列表,了解所有图书的情况。
  3. 删除图书:如果某本图书不再需要,你可以选择将其从系统中删除。
  4. 搜索图书:你可以根据书名或作者搜索图书,方便快速查找。
  5. 退出程序:当你完成所有任务或想退出程序时,你可以选择退出。

3、使用方法

  1. 运行程序后,你将看到一个菜单选项列表。
  2. 输入对应选项的编号来执行相应的操作。
  3. 根据提示,输入图书的详细信息或选择待删除的图书编号,然后按回车键确认。
  4. 根据菜单提示进行下一步操作,直到你完成所有任务或选择退出程序。

现在,让我们一起来编写这个简单的图书管理系统。

首先,我们需要定义一个空的图书列表,我们可以使用 Python 的列表数据结构来实现:

代码语言:javascript
复制
books = []

接下来,我们定义一个函数来添加图书。用户可以输入图书的详细信息,并将其添加到列表中:

代码语言:javascript
复制
def add_book():
    title = input('请输入书名:')
    author = input('请输入作者:')
    year = input('请输入出版年份:')
    book = {'title': title, 'author': author, 'year': year}
    books.append(book)
    print('图书已添加!')

在这个函数中,我们使用 input() 函数来接收用户输入的书名、作者和出版年份,并将这些信息存储在一个字典中,然后使用 append() 方法将其添加到 books 列表中。然后,我们打印一条确认消息,告诉用户图书已成功添加。

接下来,我们定义一个函数来查看图书列表。这将使用户能够了解当前所有图书的情况:

代码语言:javascript
复制
def view_books():
    print('图书列表:')
    if len(books) == 0:
        print('没有图书。')
    else:
        for i, book in enumerate(books):
            print(f'{i+1}. 书名:{book['title']}, 作者:{book['author']}, 出版年份:{book['year']}')

在这个函数中,我们首先打印图书列表的标题。然后,我们检查 books 列表的长度是否为 0,如果为 0,则打印一条提示消息说明没有图书。否则,我们使用 enumerate() 函数遍历 books 列表,并打印每本图书的编号和详细信息。

我们还需要定义一个函数来删除图书。当某本图书不再需要时,用户可以选择将其从列表中删除:

代码语言:javascript
复制
def delete_book():
    view_books()
    if len(books) == 0:
        return

    choice = int(input('请输入要删除的图书的编号:'))
    if choice < 1 or choice > len(books):
        print('无效的选择!')
    else:
        deleted_book = books.pop(choice - 1)
        print(f'已删除图书:{deleted_book['title']}')

在这个函数中,我们首先调用 view_books() 函数来显示当前的图书列表。然后,我们要求用户输入要删除的图书的编号。如果用户输入了无效的编号,我们打印一条错误消息。否则,我们使用 pop() 方法从 books 列表中删除相应的图书,并打印一条确认消息。

最后,我们定义一个函数来搜索图书。用户可以根据书名或作者搜索图书:

代码语言:javascript
复制
def search_books():
    search_term = input('请输入书名或作者进行搜索:')
    found_books = [book for book in books if search_term.lower() in(book['title'].lower() or book['author'].lower())]
    if not found_books:
        print('未找到匹配的图书。')
    else:
        print('搜索结果:')
        for i, book in enumerate(found_books):
            print(f'{i+1}. 书名:{book['title']}, 作者:{book['author']}, 出版年份:{book['year']}')

在这个函数中,我们首先要求用户输入搜索词。然后,我们使用列表推导式来过滤 books 列表,找出书名或作者中包含搜索词的图书。搜索时,我们将书名和作者转换为小写,以便进行不区分大小写的比较。如果没有找到匹配的图书,我们打印一条提示消息。否则,我们打印搜索结果。

现在,我们需要一个主函数来显示菜单,并根据用户的选择调用相应的函数:

代码语言:javascript
复制
def main():
    while True:
        print('\n图书管理系统')
        print('1. 添加图书')
        print('2. 查看图书')
        print('3. 删除图书')
        print('4. 搜索图书')
        print('5. 退出程序')
        choice = input('请选择操作(1-5):')

        if choice == '1':
            add_book()
        elif choice == '2':
            view_books()
        elif choice == '3':
            delete_book()
        elif choice == '4':
            search_books()
        elif choice == '5':
            print('退出程序。再见!')
            break
        else:
            print('无效的选择!请重新输入。')

在这个主函数中,我们使用 while True 循环来不断显示菜单,并要求用户选择操作。根据用户的选择,我们调用相应的函数。如果用户选择退出程序,我们打印一条告别消息,并使用 break 语句退出循环。

最后,我们调用 main() 函数来启动程序:

代码语言:javascript
复制
if __name__ == '__main__':
    main()

4、总结

通过这个简单的图书管理系统,我们学习了如何使用 Python 进行基本的输入输出操作,如何使用列表和字典存储和管理数据,以及如何编写一个循环和条件判断来实现菜单驱动的用户界面。这些技能是编写更复杂的程序的基础,希望你能通过这个案例掌握这些基本的编程技巧。

你可以根据需要扩展这个程序,例如添加图书的分类、导入导出图书数据等功能,使其更加实用和强大。祝你编程愉快!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 剑指工控 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档