以下是一个简单的图书借阅管理系统的Python实现,不依赖任何外部库或网址,功能包括图书管理、借阅、归还和查询:
图书借阅管理系统
python
class Book:
def __init__(self, book_id, title, author, status="available"):
self.book_id = book_id #图书ID
self.title = title #书名
self.author = author #作者
self.status = status #状态(available/borrowed)
def __str__(self):
return f"ID: {self.book_id} |书名: {self.title} |作者: {self.author} |状态: {'可借阅' if self.status == 'available' else '已借出'}"
class Library:
def __init__(self):
self.books = {} #图书库{ID: Book对象}
def add_book(self, book_id, title, author):
"""添加图书"""
if book_id in self.books:
print("❌ 该图书ID已存在!")
else:
self.books[book_id] = Book(book_id, title, author)
print(f"✅ 成功添加图书: {title}")
def remove_book(self, book_id):
"""删除图书"""
if book_id in self.books:
del self.books[book_id]
print(f"✅ 已删除图书ID: {book_id}")
else:
print("❌ 图书不存在!")
def borrow_book(self, book_id):
"""借阅图书"""
if book_id not in self.books:
print("❌ 图书不存在!")
elif self.books[book_id].status == "borrowed":
print("❌ 该图书已被借出!")
else:
self.books[book_id].status = "borrowed"
print(f"✅ 成功借阅图书: {self.books[book_id].title}")
def return_book(self, book_id):
"""归还图书"""
if book_id not in self.books:
print("❌ 图书不存在!")
elif self.books[book_id].status == "available":
print("❌ 该图书未被借出!")
else:
self.books[book_id].status = "available"
print(f"✅ 成功归还图书: {self.books[book_id].title}")
def search_book(self, keyword):
"""搜索图书(支持书名或作者)"""
results = []
for book in self.books.values():
if keyword.lower() in book.title.lower() or keyword.lower() in book.author.lower():
results.append(book)
if results:
print("\n�� 搜索结果:")
for book in results:
print(book)
else:
print("❌ 未找到匹配的图书!")
def list_all_books(self):
"""列出所有图书"""
if not self.books:
print("�� 图书馆目前没有图书!")
else:
print("\n�� 所有图书列表:")
for book in self.books.values():
print(book)
def main():
library = Library()
while True:
print("\n===图书借阅管理系统===")
print("1.添加图书")
print("2.删除图书")
print("3.借阅图书")
print("4.归还图书")
print("5.搜索图书")
print("6.查看所有图书")
print("7.退出系统")
choice = input("请选择操作(1-7): ").strip()
if choice == "1":
book_id = input("输入图书ID: ").strip()
title = input("输入书名: ").strip()
author = input("输入作者: ").strip()
library.add_book(book_id, title, author)
elif choice == "2":
book_id = input("输入要删除的图书ID: ").strip()
library.remove_book(book_id)
elif choice == "3":
book_id = input("输入要借阅的图书ID: ").strip()
library.borrow_book(book_id)
elif choice == "4":
book_id = input("输入要归还的图书ID: ").strip()
library.return_book(book_id)
elif choice == "5":
keyword = input("输入搜索关键词(书名或作者): ").strip()
library.search_book(keyword)
elif choice == "6":
library.list_all_books()
elif choice == "7":
print("�� 感谢使用图书借阅管理系统,再见!")
break
else:
print("❌ 无效的输入,请重新选择!")
if __name__ == "__main__":
main()
功能说明
图书管理
添加图书(add_book)
删除图书(remove_book)
查看所有图书(list_all_books)
借阅与归还
借阅图书(borrow_book)
归还图书(return_book)
搜索功能
支持按书名或作者搜索图书(search_book)
状态跟踪
每本图书有available(可借阅)或borrowed(已借出)状态
示例运行
===图书借阅管理系统===
1.添加图书
2.删除图书
3.借阅图书
4.归还图书
5.搜索图书
6.查看所有图书
7.退出系统
请选择操作(1-7): 1
输入图书ID: 001
输入书名:三体
输入作者:刘慈欣
✅ 成功添加图书:三体
请选择操作(1-7): 6
��所有图书列表:
ID: 001 |书名:三体|作者:刘慈欣|状态:可借阅
请选择操作(1-7): 3
输入要借阅的图书ID: 001
✅ 成功借阅图书:三体
这个系统完全基于Python原生实现,无需任何外部依赖或网络连接,适合本地运行和管理小型图书库。你可以根据需要扩展功能(如添加借阅记录、用户管理等)。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.