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

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

相关推荐
热点推荐
印度,为何会被分裂为4个国家?印度和巴基斯坦为何冲突不断?

印度,为何会被分裂为4个国家?印度和巴基斯坦为何冲突不断?

七号说三国
2026-07-31 17:23:20
贝佐斯结婚一周年,衰老脸肿上封面!被高能量老婆掏空,谈恋爱不如搞事业…

贝佐斯结婚一周年,衰老脸肿上封面!被高能量老婆掏空,谈恋爱不如搞事业…

商务范
2026-07-31 13:12:57
国家发改委:近期,正在会同有关部门抓紧研究制定扩大内需战略实施方案(2026-2030年)

国家发改委:近期,正在会同有关部门抓紧研究制定扩大内需战略实施方案(2026-2030年)

政知新媒体
2026-07-31 11:59:46
好家伙!《蜘蛛侠4》上映1天便满屏差评,理由简直是匪夷所思

好家伙!《蜘蛛侠4》上映1天便满屏差评,理由简直是匪夷所思

糊咖娱乐
2026-07-30 18:28:03
惊天一击!美参议院切断俄资金命脉,普京战时资金濒临枯竭

惊天一击!美参议院切断俄资金命脉,普京战时资金濒临枯竭

小齐艰难度日
2026-07-30 18:15:18
新生儿,厌世脸,走红网络……

新生儿,厌世脸,走红网络……

美剧组|人人影视
2026-07-27 23:26:37
女性偷腥后当晚与丈夫同房是什么感觉?一位39岁的女人说出实情

女性偷腥后当晚与丈夫同房是什么感觉?一位39岁的女人说出实情

混音情感
2026-07-30 15:15:48
丢人丢到国外了!中国奥运冠军严重违规被查,官方发布全球通报

丢人丢到国外了!中国奥运冠军严重违规被查,官方发布全球通报

冰语历史
2026-07-31 19:15:30
苹果或8月25日官宣发布会:iPhone 18 Pro与首款折叠屏Ultra将同台亮相

苹果或8月25日官宣发布会:iPhone 18 Pro与首款折叠屏Ultra将同台亮相

碳基打工人
2026-07-30 20:18:30
地下党被捕入狱后,三次借机叮嘱叛徒:你出去后,赶紧给组织传信

地下党被捕入狱后,三次借机叮嘱叛徒:你出去后,赶紧给组织传信

茅舍品史
2026-07-31 14:50:05
卢素英离完婚不要太爽!有钱,不用伺候老头,3个孩子也都支持她

卢素英离完婚不要太爽!有钱,不用伺候老头,3个孩子也都支持她

毒舌小红帽
2026-07-31 17:26:58
34岁赛琳娜·戈麦斯法国度假秀恩爱,恢复巅峰身材,却暴露腹部赘肉

34岁赛琳娜·戈麦斯法国度假秀恩爱,恢复巅峰身材,却暴露腹部赘肉

疯狂影视圈
2026-07-31 11:56:28
政治局会议,释放4大信号

政治局会议,释放4大信号

柏年说政经
2026-07-31 18:37:31
上市4小时订单破万!这款国产6座SUV,到底有何魔力?

上市4小时订单破万!这款国产6座SUV,到底有何魔力?

周哥一影视
2026-07-31 01:21:27
想卡中国空调出口?欧盟新规一出,反倒撞上我们的专利底牌

想卡中国空调出口?欧盟新规一出,反倒撞上我们的专利底牌

果妈聊娱乐
2026-07-30 08:04:00
29岁《海滩救护队》女星豹纹深V装翻车,胸部意外滑出忙遮挡,本人喊冤:我真不是故意的

29岁《海滩救护队》女星豹纹深V装翻车,胸部意外滑出忙遮挡,本人喊冤:我真不是故意的

追星雷达站
2026-07-30 01:49:43
上海地铁要涨价?网传翻倍让打工人买单?我有一计

上海地铁要涨价?网传翻倍让打工人买单?我有一计

黑企鹅观察
2026-07-31 18:14:53
【中超】古斯塔沃头槌破门杨铭锐追平 河南1比1英博

【中超】古斯塔沃头槌破门杨铭锐追平 河南1比1英博

体坛周报
2026-07-31 21:47:12
弄巧成拙!泽连斯基没想到,本想猛轰俄港口立威,却意外闯下大祸

弄巧成拙!泽连斯基没想到,本想猛轰俄港口立威,却意外闯下大祸

菁菁子衿
2026-07-31 13:05:51
为何王虹的报道铺天盖地,邓煜却无人问津?

为何王虹的报道铺天盖地,邓煜却无人问津?

亚哥谈古论今
2026-07-30 22:45:29
2026-08-01 00:52:49
建邺区生态科技岛人工智能商会
建邺区生态科技岛人工智能商会
南京市建邺区生态科技岛人工智能行业商会
634文章数 0关注度
往期回顾 全部

科技要闻

DeepSeek-V4-Flash正式版API上线公测

头条要闻

绿化工人工作群留遗言后坠亡 3小时后群聊被强制解散

头条要闻

绿化工人工作群留遗言后坠亡 3小时后群聊被强制解散

体育要闻

欧足联掀桌!因凡蒂诺这次真玩大了?

娱乐要闻

百花奖影帝影后即将决出

财经要闻

华强北显卡涨价潮 有显卡一周暴涨4000元

汽车要闻

听劝!换回机械门把手,这才是碳基生物该开的车!

态度原创

数码
教育
手机
公开课
军事航空

数码要闻

苹果警告iPhone、iPad和Mac供应限制将持续加剧

教育要闻

邮储四川分行2026年校园录用解读:四川工商学院NO.1

手机要闻

库克回应Apple智能国内过审,Siri AI看来还要再等等!

公开课

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

军事要闻

特朗普称哈马斯将全面解除武装

无障碍浏览 进入关怀版