题目

需求

使用函数完成对图书库存管理系统的模块化

图书信息包括:书名、书号、价格信息

该系统具备的功能

程序主菜单

显示书目信息

显示图书库存信息

添加书目信息

修改图书库存量

标准实现

使用函数实现功能

打印主菜单、显示书目信息、显示库存信息、添加书目信息和修改图书库存量

使用列表来保存元组类型的书目信息

书号、书名、出版时间和价格

使用字典保存图书库存信息

将保存书目信息的列表或保存库存信息的字典作为参数传入到函数中

import datetime
import os
import time# book_info -> [id { name ,published ,piece} , ...]
# book_stock -> {id->int,...}
book_info = {}
book_stock = {}def init():book_info[123] = {'name': '大聪明','published': datetime.date.today(),'piece': 11.1}book_stock[123] = 12def print_menu():print("====主菜单=====")print("1-显示书目信息")print("2-显示库存信息")print("3-添加书目信息")print("4-修改图书库存量")print("0-结束")opt = "#"while opt not in "01234" and opt != '':opt = input("请输入操作数: ")return int(opt)# 显示书目信息
def print_book_info():# 打印基本信息print('书号\t\t书名\t\t出版时间\t\t价格')# 计算信息长度 格式化# 遍历书目并打印for key in book_info:book = book_info[key]print('%d\t\t%s\t%s\t%.2f' % (key, book['name'], book['published'], book['piece']))# 显示库存信息
# 显示书名 库存量
def print_book_stock():print('书名\t\t库存')# 遍历库存字典for key in book_stock:print('%s\t%d' % (book_info[key]['name'], book_stock[key]))# 添加书目信息
def add_book_info():book_no = int(input("输入书号: "))# 书号存在if book_info.get(book_no) is not None:print(f'已存在书号{book_no},书名为{book_info[book_no]["name"]}')while True:opt = input('是否覆盖已存在书籍信息,输入Y/N: ')if opt.lower() in 'yn':if opt.lower() == 'n':returnbreakbook_info[book_no] = {'name': input('输入书名: '),'published': check_input_date(input('输入出版时间: ')),'piece': float(input('输入价格: '))}book_stock[book_no] = int(input("输入该书籍的库存: "))# 校验时间
def check_input_date(date):time.strptime(date, "%Y-%m-%d")return date# 修改库存信息
def modify_book_stock():book_no = int(input('输入书号: '))if book_stock.get(book_no) is not None:book_stock[book_no] = int(input("输入库存: "))else:print("书号不存在")# 修改书目信息
def modify_book_info(book_no=None):if book_no is None:book_no = int(input("输入书号: "))book_info[book_no] = {'name': input('输入书名: '),'published': input('输入出版时间: '),'piece': float(input('输入价格: '))}def handling(opt):if opt == 1:print_book_info()elif opt == 2:print_book_stock()elif opt == 3:add_book_info()elif opt == 4:modify_book_stock()else:exit(0)clear()def clear(info=''):# 打印完阻塞控制台 按任意键继续input(f"${info} 按任意键继续.......")os.system("cls")# cmd可以实现清屏if __name__ == '__main__':init()while True:try:handling(print_menu())except:clear('程序错误')

本文章仅供抄袭

python 控制台 图书库存管理系统相关推荐

  1. python图书库存管理系统的需求分析_书店管理系统需求分析.doc

    书店管理系统需求分析 项目名称: 书店管理系统 文档名称:书店管理系统--系统需求说明书 项目名称:书店管理系统 开发小组成员: 指导老师: 完成日期: 年 月 日 1 引言 1.1 编写的目的与范围 ...

  2. java图书馆库存管理系统_书店图书库存管理系统.doc

    毕 业 设 计 报 告课题: 书店图书库存管理系统系部: 软件工程系班级: 软件 092 班学号: 2009005338学生:指导教师:装订交卷日期:2012 年 4 月 10 日 毕业设计任务书一. ...

  3. 基于python的图书信息管理系统

    基于python的图书信息管理系统 实验任务和要求 设计并实现一个图书信息管理系统.根据实验要求设计该系统的菜单和交互逻辑,并编码实现增删改查的各项功能. 该系统至少包含以下功能: (1) 根据指定图 ...

  4. 基于PHP的图书库存管理系统

    资源下载地址:https://download.csdn.net/download/sheziqiong/85697449 一.引言 对所设计的应用系统进行概要性的综述 管理者注册.登录后对图书的出库 ...

  5. python图书馆图书借阅管理系统django项目源码含文档ppt

    图书馆图书借阅管理系统能做到的不仅是大大简化管理员的信息管理工作,在提高图书馆管理效率的同时还能缩减开支,更能在数字化的平面网络上将图书馆管理最好的一面展示给客户和潜在客户,而这个系统在带给图书馆管理 ...

  6. Python图书库存管理系统

    课程设计的主要内容 1. 录入功能: 可以录入每种图书的基本信息.基本信息包括ISBN.书名.作者.出版社.出版年月.库存量. 2. 查询功能: 可以根据书名或者作者,查询某种图书的所有信息. 3. ...

  7. python控制台程序学生管理系统实验总结_管理信息系统实验总结报告

    及 时 间 财经楼 305 第五.七.九周 实 验 目 的 1 .熟悉组织结构图.业务流程图.数据流程图.数据字典的绘制. 2 .树立正确的系统分析思想,培养分析问题.解决问题的能力,提高查询资 料和 ...

  8. 基于 Python 的图书借阅管理系统(附报告源码)

    文章目录 项目需求 系统建模 活动图 用例图 类图 顺序图 状态图 系统部署说明 Requirements 启动系统 展示后修改和优化说明 源码下载 项目需求 系统建模 活动图 普通用户注册后通过前台 ...

  9. python控制台程序学生管理系统实验总结_管理信息系统实验心得总结

    管理信息系统实验心得总结 管理信息系统实验心得总结篇 1 这个学期我学习了管理信息系统设计这门学科,感觉受益不浅.众所周知,管 理信息系统是为了适应现代化管理的需要, 在管理科学. 系统科学. 信息科 ...

最新文章

  1. 编译是检查C语言什么的错误,c语言编译过程
  2. python 网关配置界面代码_Linux下使用python自动修改本机网关代码分享
  3. 手动安装sys驱动文件_海龙工具的正确安装及卸载方法,自己动手丰衣足食
  4. Briage桥接设计模式
  5. 兄弟连区块链教程Fabric1.0源代码分析Peer peer根命令入口及加载子命令一
  6. 让自己的user能够看到S4 product master这个tile
  7. JSP EL表达式 param、paramValues的使用
  8. python刷题+leetcode(第三部分)
  9. 面向大数据与云计算调度挑战的阿里经济体核心调度系统
  10. Qt关闭程序的时候创建json文件,再次启动时重新加载到界面上
  11. Redis缓存那点破事 , 绝杀面试官 25 问
  12. 第九章:在Spark集群上掌握比较重要的图操作之Structural Operators
  13. Windows域策略 设置客户端服务启动状态 【全域策略生效】
  14. linux入门生信,优秀学员的学习方法展示
  15. LeetCode 6罗马数字转整数
  16. 中标麒麟系统u盘安装_中标麒麟u盘安装系统教程
  17. Froala editor 2.9.5 使用
  18. 信号与系统学习笔记与代码实现3-周期信号的傅里叶级数表示
  19. 【喷嚏图卦】 委内瑞拉崩溃的背后:渐行渐近的石油危机
  20. 读书、生活经典语录随笔

热门文章

  1. 彻底清除Trojan.DL.Delf.cxw的方法
  2. 8个暴笑幽默及顿悟的哲理故事
  3. 前端canvas能压缩图片?
  4. 阿里云提货券查看地址、提货券使用及转移方法
  5. 童士豪:VC都在想什么?
  6. 从签到卡机数据中看单位人员考勤情况
  7. 解决Antimalware Service Executable CPU,内存占用高的问题
  8. 解决MATLAB三维图复制到word变模糊问题
  9. uni-app base64转图片
  10. 3秒钟快速去水印,图片去水印从此不求人