网易首页 > 网易号 > 正文 申请入驻

一个简单的图书借阅管理系统的Python实现

0
分享至

以下是一个简单的图书借阅管理系统的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.

相关推荐
热点推荐
绞杀正式打响!中方下达最严“逐客令”,上万日企倒闭只是开始

绞杀正式打响!中方下达最严“逐客令”,上万日企倒闭只是开始

坠入二次元的海洋
2026-05-01 21:00:13
朝鲜在俄阵亡2300人,乌军却未找到一具尸体!这才是乌军厉害之处

朝鲜在俄阵亡2300人,乌军却未找到一具尸体!这才是乌军厉害之处

阿讯说天下
2026-05-01 09:47:47
湖人4-2淘汰火箭!詹姆斯轰28+7+8又破历史纪录 晋级次轮挑战雷霆

湖人4-2淘汰火箭!詹姆斯轰28+7+8又破历史纪录 晋级次轮挑战雷霆

追球者
2026-05-02 12:17:42
为什么整个亚洲只有中国有山姆超市?

为什么整个亚洲只有中国有山姆超市?

流苏晚晴
2026-04-30 18:50:00
无敌存在!成都蓉城一骑绝尘:中超敢在申花主场让2追3,还有谁?

无敌存在!成都蓉城一骑绝尘:中超敢在申花主场让2追3,还有谁?

足球大腕
2026-05-01 22:44:51
单节2分!23中0!史上最离奇黑八剧本,你演谁啊

单节2分!23中0!史上最离奇黑八剧本,你演谁啊

贵圈真乱
2026-05-02 10:10:37
第一次对「铝箔纸」产生了敬意!以为烘焙专用,没想到是家居神器

第一次对「铝箔纸」产生了敬意!以为烘焙专用,没想到是家居神器

装修秀
2026-04-18 11:55:03
56岁王菲独自一人看话剧,眼神清澈状态好,和谢霆锋相处太惬意!

56岁王菲独自一人看话剧,眼神清澈状态好,和谢霆锋相处太惬意!

娱乐团长
2026-05-02 10:02:02
黑咖啡立大功!中科院发现降糖成分,效果远超常用降糖药!

黑咖啡立大功!中科院发现降糖成分,效果远超常用降糖药!

思思夜话
2026-05-02 11:45:05
撤兵?那就撤吧。德国外长一句话,把特朗普威胁变成全世界的笑柄

撤兵?那就撤吧。德国外长一句话,把特朗普威胁变成全世界的笑柄

菁菁子衿
2026-05-01 16:50:07
41岁詹姆斯率队进次轮 多项数据历史第一!赛后:我痛扁时间老人

41岁詹姆斯率队进次轮 多项数据历史第一!赛后:我痛扁时间老人

Emily说个球
2026-05-02 12:52:08
反差扎心!北京车展最冷清品牌:销售比观众多,有的展台几乎没人

反差扎心!北京车展最冷清品牌:销售比观众多,有的展台几乎没人

音乐时光的娱乐
2026-05-02 01:00:15
中国或将迎来空前死亡高峰?专家拆解核心诱因!

中国或将迎来空前死亡高峰?专家拆解核心诱因!

王姐懒人家常菜
2026-05-01 15:07:06
只差1球!凯恩剑指莱万巅峰纪录,足坛顶级神锋席位易主在即!

只差1球!凯恩剑指莱万巅峰纪录,足坛顶级神锋席位易主在即!

田先生篮球
2026-05-01 21:03:25
中方判断很准确,短短24小时全球见识了:日本的软弱,韩国的刚强

中方判断很准确,短短24小时全球见识了:日本的软弱,韩国的刚强

浪子阿邴聊体育
2026-05-01 10:41:13
74岁老人邮轮上突发急症离世:爆火的海上旅行,被低估的医疗风险

74岁老人邮轮上突发急症离世:爆火的海上旅行,被低估的医疗风险

新京报
2026-04-30 17:51:49
橘子洲头单人照事件。

橘子洲头单人照事件。

贴小君
2026-05-01 13:23:12
默森:阿森纳赢下富勒姆就能夺冠,1-0稳稳拿到3分就好

默森:阿森纳赢下富勒姆就能夺冠,1-0稳稳拿到3分就好

懂球帝
2026-05-01 22:44:24
68岁京城老炮“四宝子”大婚!妻子小其30多岁,发小加代家人缺席

68岁京城老炮“四宝子”大婚!妻子小其30多岁,发小加代家人缺席

观察鉴娱
2026-05-01 08:55:16
一个75岁退休老头在德云社干了216场,年收入曝光后网友沉默了

一个75岁退休老头在德云社干了216场,年收入曝光后网友沉默了

小娱乐悠悠
2026-05-02 10:47:26
2026-05-02 14:16:49
建邺区生态科技岛人工智能商会
建邺区生态科技岛人工智能商会
南京市建邺区生态科技岛人工智能行业商会
250文章数 0关注度
往期回顾 全部

科技要闻

AI热潮耗尽库存,Mac Mini起售调高200美元

头条要闻

男子被诊断为疑似肝癌 辗转其他医院检查均无癌症依据

头条要闻

男子被诊断为疑似肝癌 辗转其他医院检查均无癌症依据

体育要闻

休赛期总冠军,轮到休斯顿火箭

娱乐要闻

白百何罕晒大儿子 18岁元宝越来越帅

财经要闻

雷军很努力 小米还是跌破了30港元大关

汽车要闻

新纪录!零跑汽车4月交付达71387台

态度原创

房产
艺术
亲子
健康
旅游

房产要闻

所有户型全卖爆!海口TOP级豪宅,景观样板间五一全线开放!

艺术要闻

色块与笔触的激情之旅!

亲子要闻

萌星秀秀:小萌星甜甜朗诵唐诗三首

干细胞治烧烫伤面临这些“瓶颈”

旅游要闻

“五一”美团小团游订单增27%,新疆、云南、北京居热度Top3

无障碍浏览 进入关怀版