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判断IP地址合法性的方法实例
Mar 13 Python
python中global用法实例分析
Apr 30 Python
python正则表达式re之compile函数解析
Oct 25 Python
Python数据分析中Groupby用法之通过字典或Series进行分组的实例
Dec 08 Python
Python3.4实现远程控制电脑开关机
Feb 22 Python
Python中xml和json格式相互转换操作示例
Dec 05 Python
用python脚本24小时刷浏览器的访问量方法
Dec 07 Python
django数据库自动重连的方法实例
Jul 21 Python
如何在python中写hive脚本
Nov 08 Python
python匿名函数lambda原理及实例解析
Feb 07 Python
Python3中小括号()、中括号[]、花括号{}的区别详解
Nov 15 Python
matplotlib 画动态图以及plt.ion()和plt.ioff()的使用详解
Jan 05 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 图像处理类1
2009/06/15 PHP
php输出图像的方法实例分析
2017/02/16 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
swoole_process实现进程池的方法示例
2018/10/29 PHP
PHP面向对象程序设计__tostring()和__invoke()用法分析
2019/06/12 PHP
PHP使用DOM对XML解析处理操作示例
2019/07/04 PHP
滚动图片效果 jquery实现回旋滚动效果
2013/01/08 Javascript
提示$ is not defined错误分析及解决
2013/04/09 Javascript
jquery根据锚点offset值实现动画切换
2014/09/11 Javascript
判断浏览器的内核及版本号方法汇总
2015/01/05 Javascript
JS+CSS实现感应鼠标渐变显示DIV层的方法
2015/02/20 Javascript
JavaScript实现Iterator模式实例分析
2015/06/09 Javascript
基于javascript实现文字无缝滚动效果
2016/03/22 Javascript
JS+CSS3制作炫酷的弹窗效果
2016/11/08 Javascript
JS判断是否手机或pad访问实现方法
2016/12/09 Javascript
自制简易打赏功能的实例
2017/09/02 Javascript
关于vue中的ajax请求和axios包问题
2018/04/19 Javascript
基于Vue实现拖拽功能
2020/07/29 Javascript
JS实现网页端猜数字小游戏
2020/03/06 Javascript
Openlayers实现测量功能
2020/09/25 Javascript
python单线程实现多个定时器示例
2014/03/30 Python
python中的内置函数getattr()介绍及示例
2014/07/20 Python
Python中的默认参数详解
2015/06/24 Python
python在Windows下安装setuptools(easy_install工具)步骤详解
2016/07/01 Python
python实现感知器
2017/12/19 Python
python 多线程重启方法
2019/02/18 Python
Python Pandas分组聚合的实现方法
2019/07/02 Python
婚鞋、新娘鞋、礼服鞋、童鞋:Nina Shoes
2019/09/04 全球购物
国旗下演讲稿
2014/05/08 职场文书
实习生矿工检讨书
2014/10/13 职场文书
检讨书模板大全
2015/05/07 职场文书
音乐课外活动总结
2015/05/09 职场文书
民事撤诉申请书范本
2015/05/18 职场文书
2016关于军训的心得体会
2016/01/11 职场文书
详解Flask开发技巧之异常处理
2021/06/15 Python
PostgreSQL聚合函数介绍以及分组和排序
2022/04/12 PostgreSQL