Python分分钟实现图书管理系统(含代码)

废话不多说,直接上代码。

import sys# 打印书库中的所有书的函数
def book_detail(books):for book_name, book_info in books.items():if book_info is not None:print('bookName:{}  ISBN:{}  title:{}  author:{}  number:{}  borrowNumber:{}'.format(book_name, book_info['ISBN'], book_info['title'], book_info['author'], book_info['number'],book_info['borrow_num']))# 检查借书情况
def check_borrow(book):for book_info in books.values():# {}跟%s差不多的效果,你翻译的时候注意print('{}被借出{}本'.format(book_info['title'], book_info['borrow_num']))# 查找书籍ISBN
def search_book(books):flag = 'y'# 添加书籍while (flag == 'y'):title = input('输入你想查找的书籍的名字:')i = 0for book_info in books.values():i = 1if title in book_info.values():print('您所查找的书籍的信息如下:')print('title:{}  ISBN:{}'.format(book_info['title'], book_info['ISBN']))if i == 0:  # i=0说明没有找到符合输入的书籍print('没有该书!')# 防止出现错误输入while (True):flag = input('''如果你想要继续查找书籍请输入'y',想退出请输入'n':''')if flag == 'y' or flag == 'n':breakelse:print('请输入小写的y或n!')# 添加书籍数量的函数
def add_book(books):flag = True# 添加书籍while (flag):next_flag = Trueisbn = input('输入你想添加的书籍的ISBN编号或者输入 exit 退出:')if isbn == 'exit':breakno_book = Truefor book_info in books.values():if isbn in book_info.values():no_book = Falseprint("1. 修改在库数目")print('2. 修改书籍名称')print('3. 修改书籍作者')print('4. 退出')option_menu = input('书籍在库, 请输入要进行的操作:')if option_menu == '4':breakelif option_menu == '1':try:add_num = eval(input('请输入添加数量:'))except Exception:print("添加书籍在库数目时请输入数字")next_flag = Falsebreakif add_num < 0:print('输入错误, 请输入正整数')next_flag = Falsebreakbook_info['number'] += int(add_num)elif option_menu == '2':new_title = input('请输入需要修改成的名称:')book_info['title'] = new_titleelif option_menu == '3':new_author = input('请输入需要修改成作者的名称:')book_info['author'] = new_authorelse:print('请输入正确的操作代码')next_flag = Falsebreakelse:no_book = Trueif no_book:new_book_info = {}title = input('输入你想添加的书籍的名称:')author = input('输入你想添加的书籍的作者:')# 需要做异常处理,防止错误输入try:number = eval(input('输入你想添加的书籍的在库数目:'))except Exception as e:print("添加书籍在库数目时请输入数字")next_flag = Falsenew_book_info['ISBN'] = isbnnew_book_info['title'] = titlenew_book_info['author'] = authornew_book_info['number'] = numbernew_book_info['borrow_num'] = 0key = 'book_' + str(len(books) + 1)books[key] = new_book_infoprint('书籍【' + title + '】添加成功')# 防止出现错误输入while (next_flag):flag_continue = input('''如果你想要继续添加书籍请输入'y',想退出请输入'n':''')if flag_continue.lower() == 'y':breakelse:flag = Falsebreak# 借书函数
def borrow_book(books):flag = 'y'# 添加书籍while (flag == 'y'):isbn = input('输入你想借的书籍的ISBN编号:')i = 0for book_info in books.values():i = 1if isbn in book_info.values():b_num = input('请输入要借的的数量:')if book_info['number'] >= int(b_num):book_info['number'] -= int(b_num)book_info['borrow_num'] += int(b_num)else:print('对不起,库存不足!')if i == 0:  # i=0说明没有找到符合输入的ISBN号print('没有该ISBN编号!')# 防止出现错误输入while (True):flag = input('''如果你想要继续借书籍请输入'y',想退出请输入'n':''')if flag == 'y' or flag == 'n':breakelse:print('请输入小写的y或n!')# 还书函数
def return_book(books):flag = 'y'# 添加书籍while (flag == 'y'):isbn = input('Enter the ISBN number of the book you want to return')i = 0for book_info in books.values():i = 1if isbn in book_info.values():r_num = input('Please enter the amount to be returned')if book_info['borrow_num'] >= int(r_num):book_info['number'] += int(r_num)book_info['borrow_num'] -= int(r_num)else:print('''I'm sorry, there aren't so many books on loan''')if i == 0:print('sorry we do not have this ISBN')while (True):flag = input('''If you want to continue returning books, type 'y' and 'n' to exit:''')if flag == 'y' or flag == 'n':breakelse:print('Please enter a lowercase y or n!')if __name__ == '__main__':# 初始图书馆图书信息books = {'book_1': {'ISBN': '12345678910121','title': '假如给我三天光明','author': '海伦凯勒','number': 2,'borrow_num': 0},'book_2': {'ISBN': '12345678910122','title': '红与黑','author': '司汤达','number': 2,'borrow_num': 0},'book_3': {'ISBN': '12345678910123','title': '鲁滨逊漂流记','author': '笛福','number': 2,'borrow_num': 0},}# 初始化用户信息print('1. >>>>>>管理员<<<<<<')print('2. >>>>>>普通用户<<<<<<')user = input('^^^^^^请输入你的身份^^^^^^')if user == '1':password = input('^^^^^^请输入你的登陆密码^^^^^^')if password == 'admin':print("========欢迎登陆========")else:print('密码错误,自动退出系统')sys.exit(0)passprint('0. ******查  看  书   籍******')print('1. ******添  加  书   籍******')print('4. ******查看书籍借阅情况******')print('5. ******查      书******')print('6. ******退  出  系   统******')elif user == '2':print("========欢迎光临结束系统========")print("========关于我们的书籍========")print('0. ******查  看  书   籍******')print('2. ******借      书******')print('3. ******还      书******')print('4. ******查看书籍借阅情况******')print('5. ******查      书******')print('6. ******退  出  系   统******')else:print('输入错误,自动退出系统')sys.exit(0)# 操作选项option = input("\n请选择操作选项: ")while (option != '6'):if option == '0':print('~~~~~~图 书 列 表~~~~~~')book_detail(books)elif option == '1':print('您选择的是:【添加书籍】')add_book(books)elif option == '2':print('您选择的是:【借书】')borrow_book(books)elif option == '3':print('您选择的是:【还书】')return_book(books)elif option == '4':print('您选择的是:【查看书籍借阅情况】')check_borrow(books)elif option == '5':print('您选择的是:【查书】')search_book(books)else:print('不好意思,我不知道您要干什么,请重新选择')if user == '1':print('0. ******查  看  书   籍******')print('1. ******添  加  书   籍******')print('4. ******查看书籍借阅情况******')print('5. ******查      书******')print('6. ******退  出  系   统******')elif user == '2':print('0. ******查  看  书   籍******')print('2. ******借      书******')print('3. ******还      书******')print('4. ******查看书籍借阅情况******')print('5. ******查      书******')print('6. ******退  出  系   统******')option = input("\n请选择操作选项: ")

Python分分钟实现图书管理系统(含代码)相关推荐

  1. 基于python/django的图书管理系统

    摘  要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准 ...

  2. Python课程设计-图书管理系统

    Python课程设计-图书管理系统 摘要 第一章 绪论 1.1 开发环境及技术 1.2 系统实现功能描述 第二章 功能详细设计与实现 2.1 系统框架各层次实现 2.1.1 可视页面设计 2 数据库设 ...

  3. 面对对象编程——用Python写一个图书管理系统

    问题描述 图书管理系统1.查询图书2.增加图书3.借阅图书4.归还图书5.退出系统 代码如下 # 书:书名,作者,状态,位置 # 管理系统: class Book(object):def __init ...

  4. Python中的图书管理系统

    题目要求: 利用Python写一个简易的图书管理系统 功能模块需求: 图书管理系统 1.查询图书 2.增加图书 3.借阅图书 4.归还图书 5.退出系统 书需求: 书名.作者.状态.位置 代码块: c ...

  5. python实现简单图书管理系统

    用python实现一个简单的图书管理系统 1.工具:PyCharm3.6 社区版 我创建了一个工程叫fairy,把解释器换成Pytnon3.6 创建一个pytnon file:图书管理系统.py 2. ...

  6. 用python描述车_使用Python探索二手车市场(含代码)

    原标题:使用Python探索二手车市场(含代码) 感谢关注天善智能,走好数据之路↑↑↑ 欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答.求职一站式 ...

  7. 图书管理系统jsp代码_【程序源代码】使用Java开发的图书管理系统

    关键字:java 管理系统  正文 | 内容 01 - [概述] 使用Java开发的图书管理系统,读者可以注册登录,登录时会判断账号类型再分别跳到各自对应的页面,读者可以查找,借阅,还书,查看历史借阅 ...

  8. python实验练习-图书管理系统(使用文件来实现)

    题目 功能描述: 图书管理系统项目功能描述: (1)创建txt文本文档,包含如下: ① books.txt:保存有一些书籍名称: ② users.txt:用于保存用户相关的信息: ③ users_bo ...

  9. 基于tkinter库txt文件操作的Python界面化图书管理系统

    Python图书管理系统 一.简介 该系统主要通过tkinter库实现图书管理系统,该项目包含对文件的操作,对字符串解析的python知识点 二.系统实现功能介绍及使用方法 1.登录功能: 不同用户通 ...

最新文章

  1. 图像配准----Harris算子
  2. QGC添加显示多架无人机飞行轨迹
  3. 程序员正在消失!90%的人都不知道,写不出好代码,是输在了这点上!
  4. Java纸牌拖拉机简单模拟
  5. 深度学习100例-卷积神经网络(CNN)识别神奇宝贝小智一伙 | 第16天
  6. 反编译中内部类调用外部类成员问题
  7. ubuntu16 深度学习环境搭建步骤
  8. go sublime mysql_Sublime text 3开发GO
  9. jquery通过ajax方法获取json数据不执行success
  10. L1-046 整除光棍-PAT团体程序设计天梯赛GPLT
  11. Celery:routing
  12. VS2015 调试代码时写入位置时发生访问冲突
  13. C语言编程题:简单的a+b
  14. python视频换脸下载_FaceSwap下载|Faceswap(AI视频换脸软件) v1.0官方版(附使用教程)...
  15. 浅析欢乐时光(HAPPY TIME)病毒 (转)
  16. audioread函数未定义_我在MATLAB中运行下面的程序, 提示未定义函数或变量wavread 这是为什么呀?求解答...
  17. FineReport程序网络报表 - Hello,World
  18. MATCH和INDEX函数
  19. C. Minimum Ties
  20. 2019ubc转学分计算机科学gpa,吐血整理2019年本科转学分申请UBC

热门文章

  1. 用HTML写的HTML笔记大全✌
  2. linux 不同电脑cp,linux命令:拷贝命令家族(cp、scp、rsync)
  3. 读书的意义(知乎的一位大学生毕业奋斗过程)
  4. 朗朗pk机器人_弹琴机器人PK郎朗爱徒,艺术能被机器代替吗?
  5. python单位转换编程英寸厘米_第一个Python程序的单位转换,python,换算
  6. 微信里嵌入html5页面,微信小程序web-view嵌套H5实现微信支付功能解决方案
  7. DxOMARK如何测试音频质量?小编带你答疑解惑
  8. 怀着一颗谦逊的心上路
  9. 学习python爬虫经验分享--爬取洛克王国宠物图片
  10. 什么叫做展望_什么叫做展望未来。。