JZGKCHINA
工控技术分享平台
1、引言
本文使用 Python 编写一个简单的图书管理系统,通过我们学习过的 if 语句、for 循环、while 循环、列表和字典等功能,帮助读者了解如何使用 Python 创建一个实用的管理程序。
在现代生活中,图书管理对于图书馆、书店或个人藏书者来说都是一项重要任务。为了帮助你更有效地管理图书,我们将使用 Python 编写一个简单的图书管理系统。这个程序将允许你添加、查看、删除和搜索图书,让你的图书管理变得更加方便和高效。
2、功能介绍
3、使用方法
现在,让我们一起来编写这个简单的图书管理系统。
首先,我们需要定义一个空的图书列表,我们可以使用 Python 的列表数据结构来实现:
books = []
接下来,我们定义一个函数来添加图书。用户可以输入图书的详细信息,并将其添加到列表中:
def add_book():
title = input('请输入书名:')
author = input('请输入作者:')
year = input('请输入出版年份:')
book = {'title': title, 'author': author, 'year': year}
books.append(book)
print('图书已添加!')
在这个函数中,我们使用 input() 函数来接收用户输入的书名、作者和出版年份,并将这些信息存储在一个字典中,然后使用 append() 方法将其添加到 books 列表中。然后,我们打印一条确认消息,告诉用户图书已成功添加。
接下来,我们定义一个函数来查看图书列表。这将使用户能够了解当前所有图书的情况:
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 列表,并打印每本图书的编号和详细信息。
我们还需要定义一个函数来删除图书。当某本图书不再需要时,用户可以选择将其从列表中删除:
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 列表中删除相应的图书,并打印一条确认消息。
最后,我们定义一个函数来搜索图书。用户可以根据书名或作者搜索图书:
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 列表,找出书名或作者中包含搜索词的图书。搜索时,我们将书名和作者转换为小写,以便进行不区分大小写的比较。如果没有找到匹配的图书,我们打印一条提示消息。否则,我们打印搜索结果。
现在,我们需要一个主函数来显示菜单,并根据用户的选择调用相应的函数:
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() 函数来启动程序:
if __name__ == '__main__':
main()
4、总结
通过这个简单的图书管理系统,我们学习了如何使用 Python 进行基本的输入输出操作,如何使用列表和字典存储和管理数据,以及如何编写一个循环和条件判断来实现菜单驱动的用户界面。这些技能是编写更复杂的程序的基础,希望你能通过这个案例掌握这些基本的编程技巧。
你可以根据需要扩展这个程序,例如添加图书的分类、导入导出图书数据等功能,使其更加实用和强大。祝你编程愉快!