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中使用tarfile压缩、解压tar归档文件示例
Apr 05 Python
在Python中处理日期和时间的基本知识点整理汇总
May 22 Python
python生成IP段的方法
Jul 07 Python
Linux下将Python的Django项目部署到Apache服务器
Dec 24 Python
spark: RDD与DataFrame之间的相互转换方法
Jun 07 Python
对pandas中时间窗函数rolling的使用详解
Nov 28 Python
python批量修改图片尺寸,并保存指定路径的实现方法
Jul 04 Python
python并发爬虫实用工具tomorrow实用解析
Sep 25 Python
Anaconda3+tensorflow2.0.0+PyCharm安装与环境搭建(图文)
Feb 18 Python
Python自动发送和收取邮件的方法
Aug 12 Python
详解Pymongo常用查询方法总结
Jan 29 Python
Python循环之while无限迭代
Apr 30 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后退一页表单内容保存实现方法
2012/06/17 PHP
PHP有序表查找之二分查找(折半查找)算法示例
2018/02/09 PHP
学习ExtJS Window常用方法
2009/10/07 Javascript
javascript 正则替换 replace(regExp, function)用法
2010/05/22 Javascript
动态获取复选框checkbox选中个数的jquery代码
2013/06/25 Javascript
js this函数调用无需再次抓获id,name或标签名
2014/03/03 Javascript
让javascript加载速度倍增的方法(解决JS加载速度慢的问题)
2014/12/12 Javascript
jquery 插件实现瀑布流图片展示实例
2015/04/03 Javascript
浅谈NodeJS中require路径问题
2015/05/07 NodeJs
jQuery实现的多级下拉菜单效果代码
2015/08/24 Javascript
jquery实现标题字体变换的滑动门菜单效果
2015/09/07 Javascript
认识Knockout及如何使用Knockout绑定上下文
2015/12/25 Javascript
详解JavaScript中的构造器Constructor模式
2016/01/14 Javascript
JavaScript实现与使用发布/订阅模式详解
2019/01/19 Javascript
JS中注入eval, Function等系统函数截获动态代码
2019/04/03 Javascript
ES6入门教程之变量的解构赋值详解
2019/04/13 Javascript
基于vue hash模式微信分享#号的解决
2020/09/07 Javascript
Python简单实现子网掩码转换的方法
2016/04/13 Python
详解Python中的相对导入和绝对导入
2017/01/06 Python
详解python读取和输出到txt
2019/03/29 Python
python实现从本地摄像头和网络摄像头截取图片功能
2019/07/11 Python
TensorFlow使用Graph的基本操作的实现
2020/04/22 Python
Python request使用方法及问题总结
2020/04/26 Python
介绍一下Python中webbrowser的用法
2013/05/07 面试题
装饰资料员岗位职责
2013/12/30 职场文书
户外用品商店创业计划书
2014/01/29 职场文书
促销活动计划书
2014/05/02 职场文书
商场开业庆典策划方案
2014/06/02 职场文书
励志演讲稿200字
2014/08/21 职场文书
2014年教师节座谈会发言稿
2014/09/10 职场文书
培根随笔读书笔记
2015/07/01 职场文书
《正比例》教学反思
2016/02/23 职场文书
golang协程池模拟实现群发邮件功能
2021/05/02 Golang
详解Java实现设计模式之责任链模式
2021/06/23 Java/Android
前端JS获取URL参数的4种方法总结
2022/04/05 Javascript
vue打包时去掉所有的console.log
2022/04/10 Vue.js