python实现图书馆信息管理系统,利用python做图书管理系统

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: