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下载Bing图片(代码)
Nov 07 Python
Python中的自定义函数学习笔记
Sep 23 Python
通过5个知识点轻松搞定Python的作用域
Sep 09 Python
Python切片操作实例分析
Mar 16 Python
使用Python实现微信提醒备忘录功能
Dec 04 Python
PyQt5 实现字体大小自适应分辨率的方法
Jun 18 Python
修改 CentOS 6.x 上默认Python的方法
Sep 06 Python
python3操作注册表的方法(Url protocol)
Feb 05 Python
python 获取当前目录下的文件目录和文件名实例代码详解
Mar 10 Python
Python基于pip实现离线打包过程详解
May 15 Python
如何解决cmd运行python提示不是内部命令
Jul 01 Python
Python代码注释规范代码实例解析
Aug 14 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生成随机数或者字符串的代码
2008/09/05 PHP
深入理解:XML与对象的序列化与反序列化
2013/06/08 PHP
PHP自定session保存路径及删除、注销与写入的方法
2014/11/18 PHP
PHP版微信公众平台红包API
2015/04/02 PHP
php类常量用法实例分析
2015/07/09 PHP
Ajax和PHP正则表达式验证表单及验证码
2016/09/24 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
2017/11/10 PHP
PHP结合Ffmpeg快速搭建流媒体服务的实践记录
2018/10/31 PHP
laravel Task Scheduling(任务调度)在windows下的使用详解
2019/10/22 PHP
javascript是怎么继承的介绍
2012/01/05 Javascript
js函数模拟显示桌面.scf程序示例
2014/04/20 Javascript
javascript的创建多行字符串的7种方法
2014/04/29 Javascript
node.js中的fs.symlinkSync方法使用说明
2014/12/15 Javascript
DOM节点的替换或修改函数replaceChild()用法实例
2015/01/12 Javascript
如何用JS判断两个数字的大小
2016/07/21 Javascript
JS限制条件补全问题实例分析
2016/12/16 Javascript
jQuery实现的鼠标拖动浮层功能示例【拖动div等任何标签】
2018/12/29 jQuery
什么时候不能在 Node.js 中使用 Lock Files
2019/06/24 Javascript
[06:15]2016国际邀请赛中国区预选赛单车采访:我顶WINGS
2016/06/27 DOTA
python操作数据库之sqlite3打开数据库、删除、修改示例
2014/03/13 Python
pycharm远程调试openstack代码
2017/11/21 Python
Python简单计算数组元素平均值的方法示例
2017/12/26 Python
对python捕获ctrl+c手工中断程序的两种方法详解
2018/12/26 Python
postman传递当前时间戳实例详解
2019/09/14 Python
Python values()与itervalues()的用法详解
2019/11/27 Python
Jupyter notebook如何修改平台字体
2020/05/13 Python
CSS3制作漂亮的照片墙的实现代码
2016/06/08 HTML / CSS
深入解析HTML5使用SVG图像时的viewBox属性用法
2015/09/02 HTML / CSS
英国最大的运动营养公司之一:LA Muscle
2018/07/02 全球购物
Melissa鞋英国官方网站:Nonnon
2019/05/01 全球购物
意大利领先的奢侈品在线时装零售商:MCLABELS
2020/10/13 全球购物
自我反省检讨书
2014/01/23 职场文书
水果连锁超市创业计划书
2014/01/24 职场文书
师德个人剖析材料
2014/02/02 职场文书
2014年学校工会工作总结
2014/12/06 职场文书
SQL Server中锁的用法
2022/05/20 SQL Server