Python简易版图书管理系统


Posted in Python onAugust 12, 2019

本文实例为大家分享了python图书管理系统的具体代码,供大家参考,具体内容如下

"""
图书管理系统
"""
import random

# books={书名:剩余数量, 书名:剩余数量}
import time

books = {"防脱发指南": 5, "颈椎康复指南": 3, "从删库到跑路": 0}
# students_books=[name,{书}]
students_books = {"赵路遥": []}


class book(object):
 """先传一个书名,以后可根据需要传 开始借书时间,书的详细信息,以及之前借书的人等等"""

 def __init__(self, bookname):
 super(book, self).__init__()
 self.bookname = bookname

 def getBookName(self):
 return self.bookname


if __name__ == "__main__":
 print("*" * 50)
 print("欢迎来到遥遥哥的图书馆".center(50))
 print("*" * 50)
 while True:
 choices = input("""  请选择你所需要的功能
1.查询书籍 2.借书 3.还书 4.显示所有书籍 5.查询用户所借的书 6.退出系统:""")
 if choices == '1':
  # 查询书籍
  print('--------查询书籍---------')
  search_book = input('请输入要查询的书籍名称:')
  # 遍历books
  for book in books.keys():
  if search_book in book:
   print("正在查找,请稍等")
   time.sleep(1)
   if books[search_book] > 0:
   print("你说查找的书,目前还有{}本".format(books[search_book]))
   break
   else:
   print("你所查找的书,已经借完,请过段时间之后再来")
   break
  else:
  print("对不起你所输入的书不存在,可联系管理员补充")

 elif choices == '2':
  # 借书
  print("欢迎来到借书页面".center(50))
  flag = True
  while flag:
  user_name = input("请输入用户名")
  borrow_book = input("请输入你所借的书名")
  for book in books.keys():
   if borrow_book == book:
   if user_name in students_books.keys():
    if books[borrow_book] > 0:
    if borrow_book not in students_books[user_name]:
     print(r"你已经借书<<{}>>".format(borrow_book))
     students_books[user_name].append(borrow_book)
     books[borrow_book] -= 1
     print(r"现在<<{}>>,剩余{}本".format(borrow_book, books[borrow_book]))
     flag = False
     break
    else:
     print("对不起,你已经借了一本")
     flag = False
     break
    else:
    print("对不起你所借的书剩余{}本,请下次再来".format(books[borrow_book]))
    flag = False
    break
   else:
    students_books[user_name] = []
    students_books[user_name].append(borrow_book)
    books[borrow_book] -= 1
    print(r"新用户( {} )已经借书<< {} >>,目前此书剩余{}本".format(user_name, borrow_book, books[borrow_book]))
    flag = False
    break

  else:
   print("对不起你所查找的书,不存在,请联系管理员更新")

 elif choices == '3':
  flag=True
  while flag:
  user_name = input("请输入你的名字")
  repay_book = input("情输入你所要还的书")
  for name in students_books.keys():
   #先去判断有没有这个人
   if name==user_name:
   #判断有没有这本书在不在该用户
   if repay_book in students_books[name]:
    #判断此本书书否在图书馆库里面
    if repay_book in books.keys():
    books[repay_book]+=1
    students_books[name].remove(repay_book)
    print("正在还书,请稍等")
    time.sleep(1)
    print("你已经还书了,这本书数量为{}".format(books[repay_book]))
    flag=False
    break
    else:
    print("此本书不在图书馆库里面,请重新输入")
    break
   else:
    print("你所输入的书,并在你的借书目录里面,请重新输入")
    break
  else:
   print("对不起你所输入的人不存在,请重新输入")

 elif choices == '4':
  # 显示所有书籍
  print("图书馆目前所藏书籍如下:")
  for bookkey, bookvalue in list(books.items()):
  print(r"<<{}>>目前还有 {} 本".format(bookkey, bookvalue))
  time.sleep(0.5)
 elif choices=='5':
  username=input(" 请输入你要查询的用户名")
  for stu in students_books.keys():
  if username== stu:
   print("{}所借的书有{}".format(user_name,students_books[username]))
  else:
  print("你查找的用户不在")
 elif choices == '6':
  choice = ("确定是否退出,确认请输入yes,否则请输入no")
  if choice == 'yes':
  print("感谢你的使用,再见")
  break
 else:
  print('输入错误请重新输入....')

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Python下尝试多线程编程
Apr 28 Python
python中numpy的矩阵、多维数组的用法
Feb 05 Python
python pandas dataframe 行列选择,切片操作方法
Apr 10 Python
Python操作mongodb的9个步骤
Jun 04 Python
python读取目录下所有的jpg文件,并显示第一张图片的示例
Jun 13 Python
Python提取转移文件夹内所有.jpg文件并查看每一帧的方法
Jun 27 Python
Python中低维数组填充高维数组的实现
Dec 02 Python
python3.8与pyinstaller冲突问题的快速解决方法
Jan 16 Python
python上传时包含boundary时的解决方法
Apr 08 Python
python轮询机制控制led实例
May 03 Python
Keras Convolution1D与Convolution2D区别说明
May 22 Python
Pytest之测试命名规则的使用
Apr 16 Python
django drf框架中的user验证以及JWT拓展的介绍
Aug 12 #Python
python中eval与int的区别浅析
Aug 11 #Python
将Python文件打包成.EXE可执行文件的方法
Aug 11 #Python
python多线程同步实例教程
Aug 11 #Python
pandas的to_datetime时间转换使用及学习心得
Aug 11 #Python
python中时间转换datetime和pd.to_datetime详析
Aug 11 #Python
Python时间序列缺失值的处理方法(日期缺失填充)
Aug 11 #Python
You might like
PHP header()函数常用方法总结
2014/04/11 PHP
如何让搜索引擎抓取AJAX内容解决方案
2014/08/25 PHP
php下Memcached入门实例解析
2015/01/05 PHP
php基于curl重写file_get_contents函数实例
2016/11/08 PHP
阿里云Win2016安装Apache和PHP环境图文教程
2018/03/11 PHP
php的扩展写法总结
2019/05/14 PHP
JS/FLASH实现复制代码到剪贴板(兼容所有浏览器)
2013/05/27 Javascript
JavaScript的Module模式编程深入分析
2013/08/13 Javascript
查询json的数据结构的8种方式简介
2014/03/10 Javascript
js给table赋值的实例代码
2016/10/13 Javascript
Node批量爬取头条视频并保存方法
2018/09/20 Javascript
vue-cli系列之vue-cli-service整体架构浅析
2019/01/14 Javascript
微信小程序常见页面跳转操作简单示例
2019/05/01 Javascript
vue 公共列表选择组件,引用Vant-UI的样式方式
2020/11/02 Javascript
[03:26]《DAC最前线》之EG经理自述DOTA2经历
2015/02/02 DOTA
使用Python开发windows GUI程序入门实例
2014/10/23 Python
编写Python脚本使得web页面上的代码高亮显示
2015/04/24 Python
python中sleep函数用法实例分析
2015/04/29 Python
Python实现给qq邮箱发送邮件的方法
2015/05/28 Python
python 开发的三种运行模式详细介绍
2017/01/18 Python
使用XML库的方式,实现RPC通信的方法(推荐)
2017/06/14 Python
如何使用Python 打印各种三角形
2019/06/28 Python
关于django 1.10 CSRF验证失败的解决方法
2019/08/31 Python
Python hmac模块使用实例解析
2019/12/24 Python
详解Python中的编码问题(encoding与decode、str与bytes)
2020/09/30 Python
一款简洁的纯css3代码实现的动画导航
2014/10/31 HTML / CSS
canvas实现高阶贝塞尔曲线(N阶贝塞尔曲线生成器)
2018/01/10 HTML / CSS
乐高瑞士官方商店:LEGO CH
2020/08/16 全球购物
农村党支部先进事迹
2014/01/14 职场文书
销售目标责任书
2014/07/23 职场文书
安全生产月标语
2014/10/07 职场文书
公安机关纪律作风整顿个人剖析材料材料
2014/10/10 职场文书
食品药品安全责任书
2015/05/11 职场文书
班级元旦晚会开幕词
2016/03/04 职场文书
表扬信范文
2019/04/22 职场文书
Python必备技巧之函数的使用详解
2022/04/04 Python