网站开发的后端,网站建设公司价位,学建模去什么学校,遵义在线读者板留言今天来实现一个简单的超市售货系统数据存储形式为json的数据首先是读取数据#xff0c;这里用到的Python的json库#xff0c;用于处理json类型的数据pythondef load(): # 数据读取j open(goods.txt, r, encodingutf-8)# 逐行读取文件中的数据readers j.readlines()# 将数据…今天来实现一个简单的超市售货系统数据存储形式为json的数据首先是读取数据这里用到的Python的json库用于处理json类型的数据pythondef load(): # 数据读取j open(goods.txt, r, encodingutf-8)# 逐行读取文件中的数据readers j.readlines()# 将数据整理后存入datafor i in readers:# 对数据进行清洗 以-为间隔符分割 然后将后半段的换行符清洗掉 将单引号换成双引号data[i.split(-)[0]] json.loads(i.split(-)[-1].replace(\n, ).replace(\, \))for i in data:for j in data[i]:data[i][j] [data[i][j], random.randint(100, 1000)]然后就是超市的主体部分实现了用户购买多次购买商品并打印订单pythondef sale():print(欢迎来到XXX超市)while True:# 让用户输入购买物品的类别print( .join(list(data.keys())))category input(请选择你想购买的类别:)# 判断用户输入的类别是否存在if category not in data.keys():print(您输入的类别不存在情重新输入)continue# 将用户选择的类别内的商品都放入commoditys进行保存commoditys data[category]while True:print(进入商品选购)print( .join([kstr(v[0]) for k,v in commoditys.items()]))# 让用户输入购买的商品名commodity input(请输入你购买的商品:)# 判断用户选择的商品是否存在if commodity not in commoditys.keys():print(您输入的商品不存在请重新输入)continue# 让用户输入购买商品的数量number int(input(请输入购买商品的数量:))# 将库存减少data[category][commodity][1] - number# 将购物单子存入购物清单中detailed_list.append([commodity, commoditys[commodity][0], number, commoditys[commodity][0]*number, data[category][commodity][1]])print(当前的购物清单为)# 将购物清单打印出来print(商品名 数量 总价)for i in detailed_list:print(i[0], i[2], i[3])# 判断用户是否继续选择商品if input(是否继续选择商品是输入y:) ! y:break# 判断用户是否继续购物if input(是否继续选择购物是输入y:) ! y:breakprint( * 50)print( 商品名称|单价| 数量| 小计| 库存|)print(- * 50)# 格式化循环打印购物清单for i in detailed_list:print({:6}|{:2}|{:8}|{:8}|{:8}|.format(i[0], str(i[1]), str(i[2]), str(i[3]), str(i[4])))print(- * 50)print( 总消费%.2f %(sum([i[3] for i in detailed_list])))print( * 50)print(欢迎再来!)全部代码如下pythonimport jsonimport randomdef load(): # 数据读取j open(goods.txt, r, encodingutf-8)# 逐行读取文件中的数据readers j.readlines()# 将数据整理后存入datafor i in readers:# 对数据进行清洗 以-为间隔符分割 然后将后半段的换行符清洗掉 将单引号换成双引号data[i.split(-)[0]] json.loads(i.split(-)[-1].replace(\n, ).replace(\, \))for i in data:for j in data[i]:data[i][j] [data[i][j], random.randint(100, 1000)]def sale():print(欢迎来到XXX超市)while True:# 让用户输入购买物品的类别print( .join(list(data.keys())))category input(请选择你想购买的类别:)# 判断用户输入的类别是否存在if category not in data.keys():print(您输入的类别不存在情重新输入)continue# 将用户选择的类别内的商品都放入commoditys进行保存commoditys data[category]while True:print(进入商品选购)print( .join([kstr(v[0]) for k,v in commoditys.items()]))# 让用户输入购买的商品名commodity input(请输入你购买的商品:)# 判断用户选择的商品是否存在if commodity not in commoditys.keys():print(您输入的商品不存在请重新输入)continue# 让用户输入购买商品的数量number int(input(请输入购买商品的数量:))# 将库存减少data[category][commodity][1] - number# 将购物单子存入购物清单中detailed_list.append([commodity, commoditys[commodity][0], number, commoditys[commodity][0]*number, data[category][commodity][1]])print(当前的购物清单为)# 将购物清单打印出来print(商品名 数量 总价)for i in detailed_list:print(i[0], i[2], i[3])# 判断用户是否继续选择商品if input(是否继续选择商品是输入y:) ! y:break# 判断用户是否继续购物if input(是否继续选择购物是输入y:) ! y:breakprint( * 50)print( 商品名称|单价| 数量| 小计| 库存|)print(- * 50)# 格式化循环打印购物清单for i in detailed_list:print({:6}|{:2}|{:8}|{:8}|{:8}|.format(i[0], str(i[1]), str(i[2]), str(i[3]), str(i[4])))print(- * 50)print( 总消费%.2f %(sum([i[3] for i in detailed_list])))print( * 50)print(欢迎再来!)if __name__ __main__:detailed_list [] # 购物清单data {} # 数据存储# 读取数据load()# print(data)# 客户开始选购sale()print(当前库存为\n, data)input(按回车退出)效果图一起学习python小白指导教学分享记得私信我