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 相关文章推荐
教你如何在Django 1.6中正确使用 Signal
Jun 22 Python
python使用正则表达式提取网页URL的方法
May 26 Python
python编写暴力破解zip文档程序的实例讲解
Apr 24 Python
PyQt5实现拖放功能
Apr 25 Python
python中单例常用的几种实现方法总结
Oct 13 Python
Python实现FTP弱口令扫描器的方法示例
Jan 31 Python
使用python的pexpect模块,实现远程免密登录的示例
Feb 14 Python
python 实现在tkinter中动态显示label图片的方法
Jun 13 Python
pandas数据处理进阶详解
Oct 11 Python
python实现小世界网络生成
Nov 21 Python
python模拟斗地主发牌
Apr 22 Python
Python Selenium XPath根据文本内容查找元素的方法
Dec 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 字符串分割和比较
2009/10/06 PHP
ubuntu下编译安装xcache for php5.3 的具体操作步骤
2013/06/18 PHP
浅析PHP中call user func()函数及如何使用call user func调用自定义函数
2015/11/05 PHP
PHP生成图片缩略图类示例
2017/01/12 PHP
浅谈PHP的$_SERVER[SERVER_NAME]
2017/02/04 PHP
PHP有序表查找之插值查找算法示例
2018/02/10 PHP
php接口实现拖拽排序功能
2018/04/23 PHP
PHP实现页面静态化深入讲解
2021/03/04 PHP
Web 前端设计模式--Dom重构 提高显示性能
2010/10/22 Javascript
Js 获取Gridview选中行的内容操作步骤
2013/02/05 Javascript
js替代copy(示例代码)
2013/11/27 Javascript
js绘制购物车抛物线动画
2020/11/18 Javascript
AngularJS定时器的使用与移除操作方法【interval与timeout】
2016/12/14 Javascript
jQuery实现文字自动横移
2017/01/08 Javascript
jQuery插件ajaxFileUpload使用详解
2017/01/10 Javascript
JavaScript模块模式实例详解
2017/10/25 Javascript
jQuery实现新闻播报滚动及淡入淡出效果示例
2018/03/23 jQuery
解决vue+element 键盘回车事件导致页面刷新的问题
2018/08/25 Javascript
jquery实现选项卡切换代码实例
2019/05/14 jQuery
[15:20]DOTA2亚洲邀请赛总决赛开幕式表演:羽泉献唱
2017/04/05 DOTA
Python制作CSDN免积分下载器
2015/03/10 Python
python实现爬虫下载美女图片
2015/07/14 Python
python获取当前运行函数名称的方法实例代码
2017/04/06 Python
Python装饰器用法实例总结
2018/05/26 Python
pyqt5移动鼠标显示坐标的方法
2019/06/21 Python
如何基于python操作json文件获取内容
2019/12/24 Python
python字符串替换re.sub()实例解析
2020/02/09 Python
Python实现Word文档转换Markdown的示例
2020/12/22 Python
市场营销方案范文
2014/03/11 职场文书
学校爱心捐款倡议书
2014/05/13 职场文书
个人作风纪律整顿整改措施
2014/10/25 职场文书
统计员岗位职责范本
2015/04/14 职场文书
2016秋季田径运动会广播稿
2015/12/21 职场文书
解决Nginx 配置 proxy_pass 后 返回404问题
2021/03/31 Servers
python tkinter Entry控件的焦点移动操作
2021/05/22 Python
浅谈Redis的事件驱动模型
2022/05/30 Redis