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实现基于HTTP文件传输实例
Nov 08 Python
Python Web框架Flask信号机制(signals)介绍
Jan 01 Python
python基础知识小结之集合
Nov 25 Python
基于Python3 逗号代码 和 字符图网格(详谈)
Jun 22 Python
python脚本实现音频m4a格式转成MP3格式的实例代码
Oct 09 Python
python3图片文件批量重命名处理
Oct 31 Python
Python笔记之facade模式
Nov 20 Python
Python之——生成动态路由轨迹图的实例
Nov 22 Python
Python实现非正太分布的异常值检测方式
Dec 09 Python
python PyAUtoGUI库实现自动化控制鼠标键盘
Sep 09 Python
python输入中文的实例方法
Sep 14 Python
Python万能模板案例之matplotlib绘制甘特图
Apr 13 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
IIS6+PHP5+MySQL5+Zend Optimizer+phpMyAdmin安装配置图文教程 2009年
2009/06/08 PHP
php实现在线通讯录功能(附源码)
2016/05/13 PHP
Thinkphp结合AJAX长轮询实现PC与APP推送详解
2017/07/31 PHP
永不消失的title提示代码
2007/02/15 Javascript
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
2011/04/27 Javascript
javascript替换已有元素replaceChild()使用介绍
2014/04/03 Javascript
JavaScript中的单引号和双引号报错的解决方法
2014/09/01 Javascript
JavaScript jQuery 中定义数组与操作及jquery数组操作
2015/12/18 Javascript
提升jQuery的性能需要做好七件事
2016/01/11 Javascript
JS与HTML结合使用marquee标签实现无缝滚动效果代码
2016/07/05 Javascript
针对JavaScript中this指向的简单理解
2016/08/26 Javascript
jQuery检查元素存在性(推荐)
2016/09/17 Javascript
基于iscroll.js实现下拉刷新和上拉加载效果
2016/11/28 Javascript
bootstrap表单按回车会自动刷新页面的解决办法
2017/03/08 Javascript
详解vuelidate 对于vueJs2.0的验证解决方案
2017/03/09 Javascript
vue router嵌套路由在history模式下刷新无法渲染页面问题的解决方法
2018/01/25 Javascript
Vue 第三方字体图标引入 Font Awesome的方法
2018/09/28 Javascript
setTimeout与setInterval的区别浅析
2019/03/23 Javascript
jQuery中DOM操作原则实例分析
2019/08/01 jQuery
零基础写python爬虫之爬虫的定义及URL构成
2014/11/04 Python
python使用xlrd实现检索excel中某列含有指定字符串记录的方法
2015/05/09 Python
Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)
2017/05/08 Python
浅谈Tensorflow模型的保存与恢复加载
2018/04/26 Python
Python格式化日期时间操作示例
2018/06/28 Python
Python列表切片操作实例总结
2019/02/19 Python
Python numpy.zero() 初始化矩阵实例
2019/11/27 Python
Python 按比例获取样本数据或执行任务的实现代码
2020/12/03 Python
用python实现一个简单的验证码
2020/12/09 Python
实例教程 纯CSS3打造非常炫的加载动画效果
2014/11/05 HTML / CSS
女大学生毕业找工作的自我评价
2013/10/03 职场文书
小学教师师德感言
2014/02/10 职场文书
财务主管岗位职责
2014/02/28 职场文书
党建示范点实施方案
2014/03/12 职场文书
习近平在党的群众路线教育实践活动总结大会上的讲话
2014/10/21 职场文书
信用卡催款律师函
2015/05/27 职场文书
关于教师节的广播稿
2015/08/19 职场文书