Python简易版图书管理系统
作者:To beTheOne 发布时间:2022-06-07 21:11:10
标签:python,图书管理
本文实例为大家分享了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('输入错误请重新输入....')
更多学习资料请关注专题《管理系统开发》。
来源:https://blog.csdn.net/weixin_43222209/article/details/97822024
0
投稿
猜你喜欢
- time简介世界上第一台计算机操作系统Unix是诞生于1970年,然后就开始了计算机的时间计算,所以我们计算机的时间是开始于1970年1月1
- 前言本博客默认读者对神经网络与Tensorflow有一定了解,对其中的一些术语不再做具体解释。并且本博客主要以图片数据为例进行介绍,如有错误
- 我们首先来看下实例代码:function sig_handler($sig){ print("handled sig:
- 放大镜并不是一个难以实现的效果, 只是因为牵涉到一些精确的数值计算, 显得比较繁琐. 在未来的一段日子, 我会不定期地写关于 JavaScr
- 与前面一样我们会用fso来对文件或文件夹进行创建与删除操作了,其实fso有强大的功能但非常危险的哦,下面我们不来看看删除实例吧,在这些例子,
- 前言最近又在重新学习编译原理了,其实两年前也复习过,当初是为了能实现通过 MySQL 的 DDL 生
- 在对跨多个表格的数据进行组合时,有时很难搞清楚要使用哪一个SQL句法。我将在这里对将多个表格中的查询合并至单一声明中的常用方式进行阐述。在这
- 1.嵌入 IFrame(/assets/img/anchor.svg)]()](https://gradio.app/sharing-you
- 本文实例讲述了Django开发的简易留言板。分享给大家供大家参考,具体如下:Django在线留言板小练习环境ubuntu16.04 + py
- 问题:pycharm无法调用pip安装的包原因:pycharm没有设置解析器解决方法:打开pycharm->File->Sett
- 协程协程(co-routine,又称微线程)是一种多方协同的工作方式。当前执行者在某个时刻主动让出(yield)控制流,并记住自身当前的状态
- 环境: 开发的IDE:JBuilderX 使用的数据库:MS Sql Server 2000 使用的数据库驱动:JSQL Driver(JD
- 实例如下所示:import matplotlib.pyplot as pltplt.imshow(img)#控制台打印出图像对象的信息,而图
- 本文实例讲述了Python实现阿拉伯数字和罗马数字的互相转换功能。分享给大家供大家参考,具体如下:前面一篇介绍了《Java实现的求解经典罗马
- 本文实例讲述了Python with语句上下文管理器。分享给大家供大家参考,具体如下:在编程中会经常碰到这种情况:有一个特殊的语句块,在执行
- 开放源代码社区为了扩展MySQL的使用范围,开发出了.Net框架(.NET Framework)中可以使用的数据库连接器。我们就来学习一下如
- 运行以下代码: Dim com As ADODB.Command Dim rst
- 程序设计中会经常碰到一种情况,就是事先无法得知用户会需要哪些数据,必须根据用户选择后再从服务器重新提取数据后反馈给用户。比如一简单的情况,用
- 本文主要介绍我在利用Django写文章时,采用的注册方法。首先说一下整体逻辑思路:•处理用户注册数据,•产生token,生成验证URL,•发
- 本文实例讲述了Python多线程通信queue队列用法。分享给大家供大家参考,具体如下:queue:什么是队列:是一种特殊的结构,类似于列表