python实现图书馆信息管理系统,利用python做图书管理系统
本文主要详细介绍了Python图书借阅管理系统。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下。
本文将写一个python简单的图书借阅管理系统,可以实现一些基本的功能。
图书借阅管理系统需求分析:
1.图书属性信息:书名、作者、借阅状态(借阅数、未借阅数)
2.图书借阅需要的操作:
1)输入图书信息;
2).借阅图书资料;
3).还书;
4).查询图书信息;
5)辞职
主要思路:
进入系统后,用户可以输入数字1 ~ 5实现相应的功能,输入数字5后可以重复操作直到退出系统。
首先,创建一个空列表作为存储图书信息的容器。在执行程序时,先初始化它,并自动将一些已有的信息添加到列表中。
当输入数字1时,要求用户输入要输入的图书名称;如果该书已经存在于列表中,则报告一个错误;如果图书不在列表中,则进一步要求用户输入相应的图书信息并将其存储在列表中;
输入数字2后,要求用户输入要借阅的图书名称,然后判断图书的库存数量是否为0。如果库存为0,返回库存不足信息;否则,借入成功,存量减1,借出量增1;
当输入数字3时,要求用户输入要归还的图书名称,库存数量增加1,借阅数量减少1;
当输入数字4时,可以将所有图书信息以表格的形式返回给用户;
当你输入数字5时,退出系统。
在写图书借阅管理系统之前,你需要写一个代码来改变字体颜色。当借贷系统出现不同情况时,会有相应的颜色变化。
下面简单介绍一下Python中怎样改变输出字体颜色:
实施流程:
终端的字符颜色由转义序列控制,转义序列是文本模式下的系统显示功能,与具体语言无关。
转义序列以ESC开头,即以\033结尾(ESC的ASCII码十进制为27,八进制为033)。
书写格式:
开始:\033[显示模式;前景景色;背景结束m: \033[0m
注意:
前三个参数:显示方式、前景色、背景色是可选参数,只能写其中一个;
另外,由于代表三个参数不同含义的数值是唯一的,不重复,所以对三个参数的书写顺序没有固定要求,系统可以识别。但是,建议按照默认的格式规范编写。
对于结尾部分,其实可以省略,但是为了写规范,建议以\033[***]开头,以\033[0m]结尾。
数值表示的参数含义:
显示模式: 0(默认)、1(突出显示)、22(非粗体)、4(带下划线)、24(不带下划线)、5(闪烁)、25(非闪烁)、7(反转)、27(非反转)
前景: 30(黑色),31(红色),32(绿色),33(黄色),34(蓝色),35(洋红色),36(青色),37(白色)
背景: 40(黑色)、41(红色)、42(绿色)、43(黄色)、44(蓝色)、45(洋红色)、46(青色)、47(白色)
先创建一个colorFont.py文件,方便以后调用,写代码:
ok green= \ 033[32米]
错误=\033[31m
警告= \ 033[33米]
END=\033[0m
if __name__==__main__:
打印(OKGREEN OK )
打印(错误 ERROR )
打印(警告 WARNING )
经过测试,输出结果如下:
下一步是编写系统。首先需要导入colorFont模块,代码如下:
从颜色字体导入*
从漂亮的桌子进口漂亮的桌子
类别簿(对象):
def __init__(自身,姓名,作者,借用=0,借用=0):
:参数名称:图书名称
:参数作者:作者
:param借出去的书的数量
:param借书:未借出的图书数量
self.name=
name
self.author = author
self.borrowed = borrowed
self.borrow = borrow
def __str__(self):
return <Book: %s> %(self.name)
class BookManage(object):
books = []
def init(self):
"""初始化书籍信息的函数, 添加书籍信息"""
self.books.append(Book("Python核心编程", Wesley Chun, 5, 0))
self.books.append(Book("Python for data analysis", Wes McKinney, 5, 10))
self.books.append(Book("流畅的Python", Luciano Ramalho, 0, 10))
print(OKGREEN + "初始化书籍信息成功" + END)
def find(self, name):
"""
根据用户传入的书籍名称判断书籍是否存在, 如果存在, 返回该书籍对象; 如果不存在, 返回None
"""
for book in self.books:
if book.name == name:
return book
else:
return None
def entering(self):
name = input("请输入要录入的书籍名称:").strip()
book = self.find(name)
if book:
print(WARNING + "该书信息已存在,请不要重复录入" +END)
else:
author = input("请输入作者:")
borrow = input("请输入录入数量:")
borrowed = 0
self.books.append(Book(name, author, borrowed, int(borrow)))
print(OKGREEN + "录入书籍信息成功" +END)
def borrowBook(self):
# 删除字符串左右的空格
name = input("借阅书籍名称:").strip()
# 查找书籍, 如果存在, 返回书籍对象, 不存在, 返回None;
book = self.find(name)
if book:
if book.borrow > 0:
# 未借出书籍数量减1;
book.borrow -= 1
# 借出书籍数量加1
book.borrowed += 1
print(OKGREEN + "书籍借阅成功" + END)
else:
print(WARNING + "书籍%s库存不足" %(book.name) + END)
else:
print(ERROR + "书籍%s不存在" %(name) + END)
def returnBook(self):
name = input("归还书籍名称:").strip()
book = self.find(name)
if book:
book.borrow += 1
book.borrowed -= 1
print(OKGREEN + "书籍归还成功" + END)
else:
print(ERROR + "本图书馆没有此书" + END)
def show(self):
print("书籍信息显示".center(50, *))
table = PrettyTable()
table.field_names = ["编号", "书籍名称", "作者", "已借出数量", "库存数量"]
for index, book in enumerate(self.books):
table.add_row([index+1, book.name, book.author, book.borrowed, book.borrow])
print(table)
def main():
# 创建书籍管理的对象
bm = BookManage()
# 先初始化书籍信息
bm.init()
prompt = """
书籍借阅与管理系统
1).录入书籍信息
2).借阅书籍信息
3).归还书籍
4).查询书籍信息
5).退出系统
请输入你的选择:"""
while True:
choice = input(prompt)
if choice == 1:
bm.entering()
elif choice == 2:
bm.borrowBook()
elif choice == 3:
bm.returnBook()
elif choice == 4:
bm.show()
elif choice == 5:
exit(0)
else:
print("请输入正确的选项")
if __name__ == __main__:
main()
运行程序之后,输出如下所示:
之后输入要执行的操作相对应的数字,先输入一个 4 吧,看一下书库里最开始有什么信息,输入4后,得到下面的输出:
再输入一个 1 ,录入一个新的信息:
再输入一个2,借一本书吧:
再输入 3 还书吧:
再输入 4 看一下,现在书库中所有书的情况吧:
最后输入 5 就可以退出该系统了。
以上就是一个简单的图书借阅管理系统的实现。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持盛行IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。