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 相关文章推荐
python3编写C/S网络程序实例教程
Aug 25 Python
python从网络读取图片并直接进行处理的方法
May 22 Python
python paramiko模块学习分享
Aug 23 Python
python基于ID3思想的决策树
Jan 03 Python
Python随机函数库random的使用方法详解
Aug 21 Python
利用pandas合并多个excel的方法示例
Oct 10 Python
Pycharm中Python环境配置常见问题解析
Jan 16 Python
python不使用for计算两组、多个矩形两两间的iou方式
Jan 18 Python
python时间日期操作方法实例小结
Feb 06 Python
Python实现屏幕录制功能的代码
Mar 02 Python
pyCharm 实现关闭代码检查
Jun 09 Python
Python数据分析入门之数据读取与存储
May 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
PHP中date()日期函数有关参数整理
2011/07/19 PHP
Yii Framework框架获取分类下面的所有子类方法
2014/06/20 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
2020/02/16 PHP
Javascript中拼接大量字符串的方法
2015/02/05 Javascript
JS实现的仿东京商城菜单、仿Win右键菜单及仿淘宝TAB特效合集
2015/09/28 Javascript
深入探究JavaScript中for循环的效率问题及相关优化
2016/03/13 Javascript
学习使用jQuery表单验证插件和日历插件
2017/02/13 Javascript
微信小程序 五星评价功能的实现
2017/03/09 Javascript
Node.js实现mysql连接池使用事务自动回收连接的方法示例
2018/02/03 Javascript
详解JavaScript中操作符和表达式
2018/09/12 Javascript
VUE+Element UI实现简单的表格行内编辑效果的示例的代码
2018/10/31 Javascript
微信小程序事件流原理解析
2019/11/27 Javascript
在vue中获取wangeditor的html和text的操作
2020/10/23 Javascript
非递归的输出1-N的全排列实例(推荐)
2017/04/11 Python
Python3一行代码实现图片文字识别的示例
2018/01/15 Python
python 去除txt文本中的空格、数字、特定字母等方法
2018/07/24 Python
python 运用Django 开发后台接口的实例
2018/12/11 Python
Tensorflow 多线程与多进程数据加载实例
2020/02/05 Python
python判断两个序列的成员是否一样的实例代码
2020/03/01 Python
纯CSS3实现滚动的齿轮动画效果
2014/06/05 HTML / CSS
html特殊符号示例 html特殊字符编码对照表
2014/01/14 HTML / CSS
优质有机椰子产品:Dr. Goerg
2019/09/24 全球购物
护理自我鉴定范文
2013/10/06 职场文书
大专生的学习自我评价
2013/12/04 职场文书
教师试用期自我鉴定
2014/02/12 职场文书
大学生学习2014年全国两会心得体会
2014/03/12 职场文书
房展策划方案
2014/06/07 职场文书
会计试用期自我评价怎么写
2014/09/18 职场文书
处级领导干部四风问题自我剖析材料
2014/09/29 职场文书
期末考试复习计划
2015/01/19 职场文书
2015年超市员工工作总结
2015/05/04 职场文书
2015年度招聘工作总结
2015/05/28 职场文书
聘任通知书
2015/09/21 职场文书
2016党员干部廉洁自律心得体会
2016/01/13 职场文书
欧元符号 €
2022/02/17 杂记
JavaScript parseInt0.0000005打印5原理解析
2022/07/23 Javascript