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

一个简单的图书借阅管理系统的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-01-08 22:29:16
退休人员注意!2026年2月养老金发放时间或有变,会提前发放吗?

退休人员注意!2026年2月养老金发放时间或有变,会提前发放吗?

丁丁鲤史纪
2026-01-10 13:50:58
没救了?!澳大利亚,已被彻底抛弃!

没救了?!澳大利亚,已被彻底抛弃!

澳洲财经见闻
2026-01-10 14:42:17
丧夫的翁帆面相都变了,字字不提杨振宁,却句句戳进自己的心窝里

丧夫的翁帆面相都变了,字字不提杨振宁,却句句戳进自己的心窝里

趣味萌宠的日常
2025-12-29 10:21:55
6.3分暴涨至8.0分,这部美剧真神了

6.3分暴涨至8.0分,这部美剧真神了

天天美剧吧
2026-01-09 17:40:03
高中各科考试规律:数学满分150分,大部分人都是不及格状态!

高中各科考试规律:数学满分150分,大部分人都是不及格状态!

好爸育儿
2026-01-08 15:58:19
疑点太多!南博陈超当年被立刻枪决,更像是为了掩盖什么

疑点太多!南博陈超当年被立刻枪决,更像是为了掩盖什么

天气观察站
2025-12-30 19:10:01
中国经济转向!今明两年,最好不要把钱存定期,这几个原因很现实

中国经济转向!今明两年,最好不要把钱存定期,这几个原因很现实

现代小青青慕慕
2026-01-05 11:19:30
成都一大熊猫触摸电网后被电出惨叫!工作人员回应:使用瞬时脉冲电压防外逃,不造成伤害

成都一大熊猫触摸电网后被电出惨叫!工作人员回应:使用瞬时脉冲电压防外逃,不造成伤害

南国今报
2026-01-10 19:59:04
瑞幸咖啡实控人黎辉:父亲是原兰州军区副司令,妻子是知名主持人

瑞幸咖啡实控人黎辉:父亲是原兰州军区副司令,妻子是知名主持人

小莜读史
2025-12-16 14:58:18
秋后算账来了。美国严查“赴美生子”,当年钻漏洞的代价异常惨痛

秋后算账来了。美国严查“赴美生子”,当年钻漏洞的代价异常惨痛

鹰视狼顾之天下
2025-12-11 13:42:38
亚洲杯1-0,叙利亚首胜+升至第三,卡塔尔输球又输人+2连败垫底

亚洲杯1-0,叙利亚首胜+升至第三,卡塔尔输球又输人+2连败垫底

侧身凌空斩
2026-01-11 02:27:57
未来三年,四川省内户籍身份证有效期满换证数量将达2500万余张

未来三年,四川省内户籍身份证有效期满换证数量将达2500万余张

封面新闻
2026-01-09 12:57:23
中超第11座专业足球场年底落成:草皮和视野都是国内顶级!

中超第11座专业足球场年底落成:草皮和视野都是国内顶级!

邱泽云
2026-01-10 19:30:22
上市公司卖房又卖车!二手奔驰SUV挂“9.5万元”引董秘配偶出手,还卖了劳斯莱斯和宾利

上市公司卖房又卖车!二手奔驰SUV挂“9.5万元”引董秘配偶出手,还卖了劳斯莱斯和宾利

凤凰网财经
2026-01-09 19:15:17
4-2大逆转!3-0横扫!U23亚洲杯最新晋级形势有变,中国队难度大

4-2大逆转!3-0横扫!U23亚洲杯最新晋级形势有变,中国队难度大

大秦壁虎白话体育
2026-01-11 00:02:48
“这么多年,对这名同事只闻其名、不见其人!”纪委监委深挖细查,相关人员被处理

“这么多年,对这名同事只闻其名、不见其人!”纪委监委深挖细查,相关人员被处理

新京报政事儿
2026-01-10 10:36:53
拉玛西亚的大龄留级生,正在经历最寒冷的冬天

拉玛西亚的大龄留级生,正在经历最寒冷的冬天

稗官青史
2026-01-09 18:26:55
玉渊谭天丨中方加严管制两用物项,坚决遏制日本军国主义图谋

玉渊谭天丨中方加严管制两用物项,坚决遏制日本军国主义图谋

上观新闻
2026-01-10 07:14:09
上海专家发现:吃甜食的老人,健康指数是吃蔬菜的人的8倍不止?

上海专家发现:吃甜食的老人,健康指数是吃蔬菜的人的8倍不止?

霹雳炮
2025-10-17 21:31:29
2026-01-11 02:56:49
建邺区生态科技岛人工智能商会
建邺区生态科技岛人工智能商会
南京市建邺区生态科技岛人工智能行业商会
243文章数 0关注度
往期回顾 全部

科技要闻

必看 | 2026开年最顶格的AI对话

头条要闻

特朗普签署行政令 宣布进入国家紧急状态

头条要闻

特朗普签署行政令 宣布进入国家紧急状态

体育要闻

怒摔水瓶!杜兰特30+12 难阻火箭遭双杀

娱乐要闻

吴速玲曝儿子Joe是恋爱脑

财经要闻

这不算诈骗吗?水滴保诱导扣款惹众怒

汽车要闻

宝马25年全球销量246.3万台 中国仍是第一大市场

态度原创

房产
亲子
旅游
公开课
军事航空

房产要闻

66万方!4755套!三亚巨量房源正疯狂砸出!

亲子要闻

方媛晒三个女儿:大宝趴地上画画,二宝读英文书!三胎睡婴儿车里

旅游要闻

12.7亿元营收、15倍增长背后:谁在操盘万岁山武侠城?顶流景区直面“长红”之困|主题乐园资本论

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

海空英雄高翔逝世 曾驾驶歼-6打爆美军机

无障碍浏览 进入关怀版