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 相关文章推荐
Django的session中对于用户验证的支持
Jul 23 Python
对Python进行数据分析_关于Package的安装问题
May 22 Python
Python工程师面试必备25条知识点
Jan 17 Python
Python3之手动创建迭代器的实例代码
May 22 Python
FFrpc python客户端lib使用解析
Aug 24 Python
Python基本语法之运算符功能与用法详解
Oct 22 Python
python元组和字典的内建函数实例详解
Oct 22 Python
numpy实现神经网络反向传播算法的步骤
Dec 24 Python
python入门之基础语法学习笔记
Feb 08 Python
Python如何获取文件路径/目录
Sep 22 Python
python单元测试框架pytest的使用示例
Oct 07 Python
python opencv实现直线检测并测出倾斜角度(附源码+注释)
Dec 31 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
IStream与TStream之间的相互转换
2008/08/01 PHP
php实现在限定区域里自动调整字体大小的类实例
2015/04/02 PHP
ThinkPHP路由详解
2015/07/27 PHP
PHP读取目录树的实现方法分析
2019/03/22 PHP
php报错502badgateway解决方法
2019/10/11 PHP
PHP设计模式之 策略模式Strategy详解【对象行为型】
2020/05/01 PHP
javascript判断机器是否联网的2种方法
2013/08/09 Javascript
confirm的用法示例用于按钮操作时确定是否执行
2014/06/19 Javascript
javascript Deferred和递归次数限制实例
2014/10/21 Javascript
JavaScript数据推送Comet技术详解
2016/04/07 Javascript
基于BootStrap Metronic开发框架经验小结【四】Bootstrap图标的提取和利用
2016/05/12 Javascript
Vue手把手教你撸一个 beforeEnter 钩子函数
2018/04/24 Javascript
JavaScript学习笔记之DOM基础操作实例小结
2019/01/09 Javascript
Vuex的actions属性的具体使用
2019/04/14 Javascript
Node.js中Koa2在控制台输出请求日志的方法示例
2019/05/02 Javascript
layer实现弹出层自动调节位置
2019/09/05 Javascript
JS实现简单贪吃蛇小游戏
2020/10/28 Javascript
简单学习Python time模块
2016/04/29 Python
对python中return和print的一些理解
2017/08/18 Python
python中urlparse模块介绍与使用示例
2017/11/19 Python
python实现校园网自动登录的示例讲解
2018/04/22 Python
Python数据可视化教程之Matplotlib实现各种图表实例
2019/01/13 Python
Python实现网页截图(PyQT5)过程解析
2019/08/12 Python
Python 静态方法和类方法实例分析
2019/11/21 Python
从训练好的tensorflow模型中打印训练变量实例
2020/01/20 Python
Python表达式的优先级详解
2020/02/18 Python
django 解决自定义序列化返回处理数据为null的问题
2020/05/20 Python
Python3 用什么IDE开发工具比较好
2020/11/28 Python
Sneaker Studio乌克兰:购买运动鞋
2018/03/26 全球购物
中国包裹转运寄送国际服务:Famiboat
2019/07/24 全球购物
草莓网中国:StrawberryNet中国
2020/08/17 全球购物
新闻专业本科生的自我评价分享
2013/11/20 职场文书
中餐厅主管的职责范文
2014/02/04 职场文书
婚礼司仪主持词
2014/03/14 职场文书
做一个有道德的人活动方案
2014/08/25 职场文书
党的群众路线教育实践活动个人整改措施材料
2014/11/04 职场文书