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

一个简单的图书借阅管理系统的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-02-28 20:19:57
王毅同法国外长通电话:希望法方同中方一道推动局势朝缓和方向发展

王毅同法国外长通电话:希望法方同中方一道推动局势朝缓和方向发展

澎湃新闻
2026-03-02 21:09:24
剧变48小时:美以突袭伊朗,火线蔓延到了哪里?整个波斯湾被波及

剧变48小时:美以突袭伊朗,火线蔓延到了哪里?整个波斯湾被波及

红星新闻
2026-03-02 18:39:13
五角大楼怒了!F-35首席教官去中国打工,难怪我军总能逮个正着

五角大楼怒了!F-35首席教官去中国打工,难怪我军总能逮个正着

书纪文谭
2026-02-28 16:48:05
赢球仅1天,中国男篮坏消息传来:将失去1个主场,冲4连胜难了

赢球仅1天,中国男篮坏消息传来:将失去1个主场,冲4连胜难了

墨印斋
2026-03-02 19:24:09
中东打完就认怂?特朗普呼吁对话,美媒慌问:中美冲突怎么打?

中东打完就认怂?特朗普呼吁对话,美媒慌问:中美冲突怎么打?

我是孤独的小船
2026-03-03 05:39:03
美经济学家:美国出现了严重战略误判,压根没料到中国会这么强大

美经济学家:美国出现了严重战略误判,压根没料到中国会这么强大

乐天闲聊
2025-12-01 10:29:34
咸鱼还是太全面了,怪不得人称国内黑市

咸鱼还是太全面了,怪不得人称国内黑市

另子维爱读史
2025-12-20 17:07:20
有消息称“美军战机系被友军误击”

有消息称“美军战机系被友军误击”

南方都市报
2026-03-02 14:50:40
县政府投书人民日报称“读者反映情况不属实”,记者两赴调查:自来水确实时有时无

县政府投书人民日报称“读者反映情况不属实”,记者两赴调查:自来水确实时有时无

上观新闻
2026-03-02 09:40:04
彻底告别!品冠爆料大S女儿转学内幕,马筱梅的负面新闻是导火索

彻底告别!品冠爆料大S女儿转学内幕,马筱梅的负面新闻是导火索

小樾说历史
2026-03-01 14:50:10
沙特坚决否认:我们没有!

沙特坚决否认:我们没有!

环球时报国际
2026-03-02 13:33:37
又有两国参战中东!关键时刻,美媒曝出消息:沙特把中国也骗了?

又有两国参战中东!关键时刻,美媒曝出消息:沙特把中国也骗了?

东极妙严
2026-03-02 12:27:01
美股三大指数收盘涨跌不一,英伟达涨约3%

美股三大指数收盘涨跌不一,英伟达涨约3%

每日经济新闻
2026-03-03 05:11:05
比恒大还惨!中国第二大民企倒了,负债7500亿,创始人被带走

比恒大还惨!中国第二大民企倒了,负债7500亿,创始人被带走

芳芳历史烩
2025-12-25 20:32:52
斋戒期间突尼斯联赛下午一点比赛,终场哨响两队球员体力不支均趴窝

斋戒期间突尼斯联赛下午一点比赛,终场哨响两队球员体力不支均趴窝

懂球帝
2026-03-02 22:29:12
多名市民称,自己遭行政执法人员索要现金

多名市民称,自己遭行政执法人员索要现金

北京郑律师
2026-03-02 16:39:09
体制内情商高能带来啥意外惊喜?网友:别在地铁看,别问我为什么

体制内情商高能带来啥意外惊喜?网友:别在地铁看,别问我为什么

带你感受人间冷暖
2026-02-24 01:03:13
阿里的复仇:一场迟到了十年的清算

阿里的复仇:一场迟到了十年的清算

快消经纬
2026-02-28 18:58:05
离岸人民币兑美元跌破6.88

离岸人民币兑美元跌破6.88

每日经济新闻
2026-03-02 08:44:35
2026-03-03 06:55:00
建邺区生态科技岛人工智能商会
建邺区生态科技岛人工智能商会
南京市建邺区生态科技岛人工智能行业商会
246文章数 0关注度
往期回顾 全部

科技要闻

苹果中国官网上线iPhone 17e,4499元起

头条要闻

媒体:拉里贾尼走向前台 四大关键变量将决定伊朗命运

头条要闻

媒体:拉里贾尼走向前台 四大关键变量将决定伊朗命运

体育要闻

“想要我签名吗” 梅西逆转后嘲讽对手主帅

娱乐要闻

李亚鹏与哥哥和解 只有一条真心话短信

财经要闻

油价飙升 美伊冲突将如何搅动全球经济

汽车要闻

国民SUV再添一员 瑞虎7L静态体验

态度原创

时尚
亲子
旅游
本地
房产

今年春天一定要拥有的4件衣服,太好看了!

亲子要闻

开学了!珠海香洲:筑牢安全防线,保障托育机构顺利开园复托

旅游要闻

寻礼曲阜感受年味(新春走基层)

本地新闻

津南好·四时总相宜

房产要闻

方案突然曝光!海口北师大附校,又有书包大盘杀出!

无障碍浏览 进入关怀版