#定义仓库

repos = dict()

#定义购物清单对象

shop_list = []

#定义函数来初始化商品

def init_repository():

goods1 = ("1001","鼠标",45)

goods2 = ("1002","键盘",78)

goods3 = ("1003","毛笔字帖",21.5)

goods4 = ("1004","算法竞赛",89)

goods5 = ("1005","声律启蒙",35)

goods6 = ("1006","Python爬虫",118)

#把商品放入dict中(入库),条码作为key

repos[goods1[0]] = goods1

repos[goods2[0]] = goods2

repos[goods3[0]] = goods3

repos[goods4[0]] = goods4

repos[goods5[0]] = goods5

repos[goods6[0]] = goods6

#定义函数,显示超市商品清单,即遍历字典dict

def show_goods():

print('欢迎光临  独狼超市')

print('超市的商品清单为:')

print("%13s%30s%12s" % ("条码","商品名称","单  价"))

#遍历repos中所有value来显示商品清单

for goods in repos.values():

print("%15s%30s%12s" % goods)

#定义函数,显示购物清单(遍历shop_list列表)

def show_list():

print("="*100)

#如果清单不为空,则输出清单的内容

if not shop_list:

print("还未购买商品")

else:

title = "%-5s | %15s | %30s | %10s | %4s | %10s" % ("ID","条码","商品名称","单价","数量","小计")

print(title)

print("-"*100)

#记录总计的价钱

sum = 0

#遍历购物清单shop_list

for i,item in enumerate(shop_list):

id = i + 1 #转换id为索引加1

code = item[0] #获取商品条码

name = repos[code][1] #获取商品名称

price = repos[code][2] #获取商品单价

number = item[1] #获取商品数量

amount = price * number #小计

sum = sum + amount #总计

line = "%-5s | %17s | %30s | %12s | %6s | %12s "% (id,code,name,price,number,amount)

print(line)

print("-"*100)

print("                                 总计:",sum)

print("="*100)

#定义函数,添加购买的商品(向shop_list中添加项)

def add():

code = input("请输入商品的条码:\n")

#若没有找到对应的商品,则输出条目错误

if code not in repos:

print("条码错误,请重新输入!")

return

goods = repos[code]  #根据条码找商品

number = input("请输入购买的数量:\n")

shop_list.append([code,int(number)]) #把商品和购买数量封装成list后加入到购物清单中

#定义函数,修改购买商品的数量

def edit():

id = input("请输入要修改的购物单的ID:\n")

index = int(id)-1 #id减1得到购物单的索引

item = shop_list[index] #根据索引获取购物清单

number = input("请输入新的购买数量:\n")

item[1] = number #修改item里面的number

#定义函数,删除购物清单项

def delete():

id = input("请输入要删除的购物清单的ID:\n")

index = int(id) - 1

del shop_list[index]

#退出系统函数

def payment():

show_list() #先打印清单

print('\n'*3)

print("欢迎下次光临")

import os

os._exit(0)

cmd_dict = {'a':add,'e':edit,'d':delete,'p':payment,'s':show_goods}

#定义函数,显示命令提示

def show_command():

cmd = input("请输入操作指令:\n"+"   添加(a)    修改(e)     删除(d)    结算(p)      超市商品(s)\n")

if cmd not in cmd_dict:

print("输入有误,请重新输入")

else:

cmd_dict[cmd]()

init_repository()

show_goods()

while True:

show_list()

show_command()

python超市管理系统总汇总功能解说_控制台超市系统(Python)相关推荐

  1. python试卷管理系统的设计与实现_在线考试系统的设计与实现毕业设计论文.doc...

    PAGE JIANGXI AGRICULTURAL UNIVERSITY 本 科 毕 业 论 文(设 计) 题目: 在线考试系统的设计与实现 学 院: 计算机与信息工程学院 姓 名: 学 号: 专 业 ...

  2. python超市管理系统的设计与实现_超市管理系统毕业论文【参考】.doc

    毕业设计(论文) 题 目 超市管理系统 姓 名 学 号 专业班级 指导教师 分 院 信息科学与工程学院 完成日期 2013年5月28日 摘 要 本文建立了一种基于粒子群(PSO)算法优化BP神经网络的 ...

  3. 超市管理系统java swing+mysql报告_基于java+swing+mysql的超市管理系统

    运行环境:java jdk 1.8 IDE环境:Eclipse,Myeclipse,IDEA都可以 硬件环境:windows 7/8/10 2G内存以上(推荐4G,4G以上更好) 可以实现: 销售管理 ...

  4. python 功能 代码_让你的Python代码实现类型提示功能

    Python是一种动态类型语言,这意味着我们在编写代码的时候更为自由,但是与此同时IDE无法向静态类型语言那样分析代码,及时给我们相应的提示.为了解决这个问题,Python 3.6 新增了几个特性PE ...

  5. 超市管理系统的html页面,基于WEB的超市管理系统_站内搜索_Web开发网

    Web开发网 > 站内搜索 > 基于WEB的超市管理系统 系统ctrl+alt+del调出系统任务管理器后,发现没有用户选项卡,如下图 这是因为电脑上Windows用户登录或注销的方式配置 ...

  6. 如何使用python编程抢京东优惠券 知乎_小猿圈Python之实现京东秒杀功能代码

    现在电商产业的多种多样,从最早的阿里巴巴.淘宝到现在的京东等等数不胜数,你还记得的京东的秒杀功能吗?小猿圈python讲师今天就为你实现京东秒杀功能代码. #Python3.5 #coding:utf ...

  7. python使用复合语句def创建函数对象_【收藏】Python实用技巧-成为Pythoner必经之路...

    前言 本文主要记录 Python 中一些常用技巧,所描述的是告诉你怎么写才是更好?  如果你并不熟悉Python语法,希望你能在下面代码片段中看到Python的简单.优雅; 如果你象我这样,对 Pyt ...

  8. python在教育领域的应用课题_研究型案例在Python教学方法中应用

    高勇钢 摘要:在高校开设python课程时,为了适应大数据时代对数据分析的要求,采用研究型案例教学方法增强学生计算思维能力和解决复杂专业问题的能力,并且初步掌握了研究具体问题的基本方法. 关键词:Py ...

  9. 【功能超全】基于OpenCV车牌识别停车场管理系统软件开发【含python源码+PyqtUI界面+功能详解】-车牌识别python 深度学习实战项目

    车牌识别基础功能演示 摘要:车牌识别系统(Vehicle License Plate Recognition,VLPR) 是指能够检测到受监控路面的车辆并自动提取车辆牌照信息(含汉字字符.英文字母.阿 ...

  10. python中字符串类型的encode()方法_第五章 Python字符串常用方法详解

    5.1 Python字符串拼接(包含字符串拼接数字) 在 Python中拼接(连接)字符串很简单,可以直接将两个字符串紧挨着写在一起,具体格式为: strname = "str1" ...

最新文章

  1. 也论标准: 统一是啥好事情?
  2. 快乐的生活 2008-10-10 18:49:00
  3. antd中的form表单 initialValue导致数据不更新问题
  4. 智慧城市需要百姓智慧
  5. jQuery.extend与jQuery.fn.extend的区别分析与实例
  6. springcloud官方文档_通俗易懂!Spring Cloud简介:官方文档翻译版
  7. html如何转换成电子表,如何轻松将电子表格转换为HTML [快速提示] | MOS86
  8. activemq下载安装(windows版)与实例创建,JMS模型介绍
  9. Photoshop插件-HDR(四)-脚本开发-PS插件
  10. 数据存储: CheckBoxPreference
  11. Elasticsearch 集成 SpringBoot并进行CRUD操作
  12. IB文学:如何评论现代诗歌?
  13. JAVA 实现《坦克大战联机版》游戏
  14. 骑行318、 2016.7.15
  15. 【Unity】3D坦克大战入门级别开发
  16. 工具软件界的奇葩公司-Ashampoo
  17. tableau desktop 10.3 使用时间驻留器失败
  18. Vim基本配置-适合C语言开发
  19. linux修改文件夹磁盘,linux下修改磁盘卷标
  20. Oracle 自动生成标识列, 比如订单编号,学生ID

热门文章

  1. (转)鼎晖投资总裁焦震:别把投资高雅化,就是个做买卖的
  2. “一云多Region”究竟能为企业解决什么问题?
  3. 【特征提取】基于matlab自相关函数最大值端点检测【含Matlab源码 1769期】
  4. 【优化预测】基于matlab麻雀算法优化BP神经网络预测【含Matlab源码 F002期】
  5. 【人民币识别】基于matlab GUI人民币序列号识别【含Matlab源码 908期】
  6. 【图像处理】基于matlab GUI美颜系统【含Matlab源码 809期】
  7. Java密码类型_java加密类型和算法名称
  8. lstm预测单词_从零开始理解单词嵌入| LSTM模型|
  9. linux查看rabbitmq的插件,docker安装rabbitmq延时队列插件
  10. 计算机excel函数lookup,详细介绍数据查找VLookup函数在Excel中的应用举例