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 相关文章推荐
使用rst2pdf实现将sphinx生成PDF
Jun 07 Python
在阿里云服务器上配置CentOS+Nginx+Python+Flask环境
Jun 18 Python
python实现求两个字符串的最长公共子串方法
Jul 20 Python
PyCharm+PySpark远程调试的环境配置的方法
Nov 29 Python
Python给图像添加噪声具体操作
Mar 03 Python
Python微信操控itchat的方法
May 31 Python
python操作excel让工作自动化
Aug 09 Python
Python使用Opencv实现图像特征检测与匹配的方法
Oct 30 Python
Python操作Excel工作簿的示例代码(\*.xlsx)
Mar 23 Python
Python爬虫实现自动登录、签到功能的代码
Aug 20 Python
Python读取Excel一列并计算所有对象出现次数的方法
Sep 04 Python
Python Numpy之linspace用法说明
Apr 17 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和javascript之间变量的传递实现代码
2012/12/19 PHP
PHP实现验证码校验功能
2017/11/16 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
Node.js 服务器端应用开发框架 -- Hapi.js
2014/07/29 Javascript
EasyUI实现二级页面的内容勾选的方法
2015/03/01 Javascript
jquery中map函数遍历数组用法实例
2015/05/18 Javascript
AngularJS入门心得之directive和controller通信过程
2016/01/25 Javascript
CKEditor无法验证的解决方案(js验证+jQuery Validate验证)
2016/05/09 Javascript
vue.js表格分页示例
2016/10/18 Javascript
windows下vue-cli导入bootstrap样式
2017/04/25 Javascript
微信小程序获取手机系统信息的方法【附源码下载】
2017/12/07 Javascript
vue项目实现表单登录页保存账号和密码到cookie功能
2018/08/31 Javascript
vue单页面应用打开新窗口显示跳转页面的实例
2018/09/21 Javascript
js变量声明var使用与不使用的区别详解
2019/01/21 Javascript
Vue中正确使用Element-UI组件的方法实例
2020/10/13 Javascript
Python编程中的反模式实例分析
2014/12/08 Python
python使用mailbox打印电子邮件的方法
2015/04/30 Python
Python学习思维导图(必看篇)
2017/06/26 Python
django框架CSRF防护原理与用法分析
2019/07/22 Python
Django Celery异步任务队列的实现
2019/07/24 Python
Python-jenkins 获取job构建信息方式
2020/05/12 Python
Python datetime模块使用方法小结
2020/06/18 Python
Sixt美国租车:高端豪华车型自驾体验
2017/09/02 全球购物
味多美官网:蛋糕订购,100%使用天然奶油
2017/11/10 全球购物
中国跨境在线时尚零售商:Bellelily
2018/04/06 全球购物
上海方立数码笔试题
2013/10/18 面试题
电脑教师的教学自我评价
2013/11/26 职场文书
中学生打架检讨书
2014/02/10 职场文书
音乐教学随笔感言
2014/02/19 职场文书
2014年乡镇植树节活动方案
2014/02/28 职场文书
学习十八大的心得体会
2014/09/12 职场文书
小学生运动会报道稿
2014/09/12 职场文书
留学推荐信中文范文
2015/03/26 职场文书
开学典礼致辞
2015/07/29 职场文书
2016优秀员工先进事迹材料
2016/02/25 职场文书
解决Golang中ResponseWriter的一个坑
2021/04/27 Golang