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的教程
May 04 Python
浅谈Python的Django框架中的缓存控制
Jul 24 Python
python正则中最短匹配实现代码
Jan 16 Python
python实现朴素贝叶斯分类器
Mar 28 Python
使用Python机器学习降低静态日志噪声
Sep 29 Python
Python PyCharm如何进行断点调试
Jul 05 Python
运用PyTorch动手搭建一个共享单车预测器
Aug 06 Python
利用python实现短信和电话提醒功能的例子
Aug 08 Python
python识别文字(基于tesseract)代码实例
Aug 24 Python
python重要函数eval多种用法解析
Jan 14 Python
在keras里实现自定义上采样层
Jun 28 Python
浅谈django框架集成swagger以及自定义参数问题
Jul 07 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学习之PHP运算符
2006/10/09 PHP
PHP备份/还原MySQL数据库的代码
2011/01/06 PHP
Win下如何安装PHP的APC拓展
2013/08/07 PHP
PHP SESSION的增加、删除、修改、查看操作
2015/03/20 PHP
PHP下载远程图片并保存到本地方法总结
2016/01/22 PHP
PHP页面输出搜索后跳转下一页的处理方法
2016/09/30 PHP
Netbeans 8.2与PHP相关的新特性介绍
2016/10/08 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
关于onScroll事件在IE6下每次滚动触发三次bug说明
2011/09/21 Javascript
js自定义鼠标右键的实现原理及源码
2014/06/23 Javascript
jQuery+ajax中getJSON() 用法实例
2014/12/22 Javascript
7个有用的jQuery代码片段分享
2015/05/19 Javascript
JavaScript算法系列之快速排序(Quicksort)算法实例详解
2016/09/04 Javascript
微信小程序开发之实现选项卡(窗口顶部TabBar)页面切换
2016/11/25 Javascript
jQuery Validate表单验证插件的基本使用方法及功能拓展
2017/01/04 Javascript
关于vuex的学习实践笔记
2017/04/05 Javascript
Vue分页组件实例代码
2017/04/17 Javascript
javascript完美实现给定日期返回上月日期的方法
2017/06/15 Javascript
React学习之事件绑定的几种方法对比
2017/09/24 Javascript
使用vue的v-for生成table并给table加上序号的实例代码
2017/10/27 Javascript
利用原生JS实现data方法示例代码
2019/05/28 Javascript
[03:28]2014DOTA2国际邀请赛 EG战队官方纪录片
2014/07/21 DOTA
[01:01:35]Optic vs paiN 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python编写百度贴吧的简单爬虫
2015/04/02 Python
Python遍历zip文件输出名称时出现乱码问题的解决方法
2015/04/08 Python
详解Django中Request对象的相关用法
2015/07/17 Python
PyQt5的安装配置过程,将ui文件转为py文件后显示窗口的实例
2019/06/19 Python
Python Web静态服务器非堵塞模式实现方法示例
2019/11/21 Python
python的json中方法及jsonpath模块用法分析
2019/12/06 Python
tensorflow -gpu安装方法(不用自己装cuda,cdnn)
2020/01/20 Python
python爬虫学习笔记之Beautifulsoup模块用法详解
2020/04/09 Python
巴黎卡诗美国官方网站:始于1964年的头发头皮护理专家
2017/07/10 全球购物
俄罗斯园林植物网上商店:Garshinka
2020/07/16 全球购物
初中政治教师教学反思
2016/02/23 职场文书
入伍志愿书怎么写?
2019/07/19 职场文书
Redis如何一键部署脚本
2021/04/12 Redis