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


猜你喜欢
- 如果你的网站涉及个人隐私或者机密性非公开的网页,怎样告诉禁止搜索引擎收录抓取,下面侯庆龙说下以下方法,希望对不想被搜索引擎收录抓取网站有所帮
- Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4
- 本节主要介绍函数,但是函数是由操作组成的。那么就分为两部,一部分为操作一部分为函数。py世界中的操作。操作if:在学习任何一门语言中,关系i
- 使用MySQL可视化工具Navicat导出MySQL的表结构脚本的方法。1、右键Navicat中的数据库→数据传输(Data Transfe
- 有两种类型的回调函数:blocking callbacks (also known as synchronous callbacks or
- Python 读取WAV文件import waveimport structfrom scipy import *from pylab im
- Python中and、or是Python中的逻辑运算符,它们的用法如何呢?and:在Python 中,and 和 or 执行布尔逻辑演算,如
- tf.diag(diagonal,name=None) #生成对角矩阵import tensorflowas tf;diagonal=[1,
- 一、前言一首歌热门了,参与评论的人也很多,那我们有时候想看看评论,也只能看看热门的评论,大部分人都说的什么,咱也不知道呀~那本次咱们就把歌词
- 我们用python 打包的exe文件的时候,每次运行后面都有一个黑框框,比如我的这个:用tkinter做的图形界面,打包成exe文件,每次运
- 正文首先得说明的是,Python的类分为经典类 和 新式类经典类是python2.2之前的东西,但是在2.7还在兼容,但是在3之后的版本就只
- 本文实例为大家分享了python实现俄罗斯方块的具体代码,供大家参考,具体内容如下#coding=utf-8 from tkinter im
- asyncio的关键字说明event_loop事件循环:程序开启一个无限循环,把一些函数注册到事件循环上,当满足事件发生的时候,调用相应的协
- 摘要在这篇文章里,我将以反模式的角度来直接讨论Django的低级ORM查询方法的使用。作为一种替代方式,我们需要在包含业务逻辑的
- <!--#include file="conn/conn.asp"--> <% set Newslis
- 油猴脚本(Tampermonkey)是一个非常流行的浏览器扩展,它可以运行由广大社区编写的扩展脚本,来实现各式各样的功能,常见的去广告、修改
- 技术背景在上一篇博客中,我们介绍了使用量子计算模拟器ProjectQ去生成一个随机数,也介绍了随机数的应用场景等。但是有些时候我们希望可以打
- 受到领导的嘱托,接手了一个java项目,要进行重构,同时了项目的整体建设要满足信创的要求。那么首先就要满足两点:1,使用国产数据库达梦8替换
- 如何巧用三元表达式一开始我并不喜欢阅读别人的代码,话说程序员最讨厌的事:写代码要写文档、写代码要写注释、别人的代码没有文档、别人的代码没有注
- 了解了上一篇的ADO.NET简介,我们就可以来对数据库进行增删改查等基本操作了!下面是每种操作的具体实现。先在自定义类的头部定义好数据库连接