购物车小程序
2022/1/18 17:08:01
本文主要是介绍购物车小程序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
# 1.充值 # 2. 加载中 # 3. 读取数据 # 4. 商品展示 # 5. 购买商品 import time import json rmb = 0 car = {} def chongzhi(): global rmb while True: num = input("请充值吧亲:") if num.isdecimal(): print(num) rmb = int(num) print("恭喜,充值成功,充值金额{}".format(rmb)) break else: print("充值失败,请输入一个数字") def myprocess(percent): if percent > 1: percent - 1 strvar = int(percent * 50) * "■" print("\r[%-50s]%d%%"%(strvar,percent * 100),end="") def exe_process(): recv_size = 0 total_size = 1000 while recv_size < total_size: time.sleep(0.01) recv_size += 10 percent = recv_size/total_size myprocess(percent) def loading(): print("商品正在加载中...") exe_process() print() def read_data(filename): lst = [] with open(filename,mode="r+",encoding="utf-8") as fp: for i in fp: dic = json.loads(i) lst.append(dic) return lst def show_goods(data): strvar = "商品名称".center(18) print("序号"+"strvar"+"价格") for k,v in enumerate(data,start=1): v['num'] = k print("{v[num]:<10}{v[name]:<12}{v[price]}".format(v=v)) def error(): strvar = ''' +----------------------------------------------------------------+ | 你输入的选项不存在,请重新输入! | +----------------------------------------------------------------+ ''' print(strvar) time.sleep(1) def add_car(num,data): if num not in car: car[num] = { "name":data[num-1]["name"], "price":data[num-1]["price"], "account":1 } else: car[num]["account"] += 1 def show_car(num): print("+" + "-" * 60 + "+") print("你选择的商品具体信息:") print("*-商品名称{}".format(car[num]["name"])) print("*-商品单价{}".format(car[num]["price"])) print("*-高品数量{}".format(car[num]["account"])) print("已经成功加入到购物车~请继续购物~") print('请输入n结算!') print("+" + "-" * 60 + "+") def jiesuan(): total = 0 print("+------------------- 你购物车中的商品信息如下: ---------------------+") for k,v in car.items(): v["num"] = k v["mysum"] = v["price"] * v["account"] total += v["mysum"] print("序号:{v[num]} 商品名称:{v[name]} 商品单价:{v[price]} 此商品总价:{v[mysum]}".format(v=v)) return total def success(total,rmb): print("正在结算商品中...") exe_process() print("请稍后...") print("[一共{}元]".format(total)) print("你已经成功购买以上商品,全额还剩{},欢迎下次光临".format(rmb-total)) time.sleep(1) def del_goods(total,rmb): print("余额不足,还差{},请忍痛割爱,删除一些商品吧,".format(total-rmb)) num = input("+-------------------------------- 请输入你要删除的商品序号 ---------------------------------+") if num.isdecimal(): num = int(num) if num in car: car[num]["account"] -= 1 if not car[num]["account"]: car.pop(num) else: error() else: error() def myexit(): print("+--------------------------- 欢迎下次光临 -----------------------------+") time.sleep(1) def main(): chongzhi() loading() data = read_data("shopping_data.json") show_goods(data) sign = True while sign: num = input("请输入你要购买的商品序号:") if num.isdecimal(): num = int(num) if 1 <= num <= len(data): add_car(num,data) show_car(num) else: error() elif num.upper() == "N": while True: total = jiesuan() print(total) if total > rmb: del_goods(total, rmb) else: success(total, rmb) sign = False break elif num.upper() == "Q": myexit() sign = False else: error() main()
shopping_data.json 文件
{"name":"电脑","price":2999} {"name":"鼠标","price":30} {"name":"手机","price":1566} {"name":"键盘","price":998} {"name":"奶茶","price":10}
这篇关于购物车小程序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-22微信小程序的接口信息py可以抓到吗?-icode9专业技术文章分享
- 2024-11-22怎样解析出微信小程序二维码带的参数?-icode9专业技术文章分享
- 2024-11-22微信小程序二维码怎样解析成链接?-icode9专业技术文章分享
- 2024-11-22微信小程序接口地址的域名需要怎么设置?-icode9专业技术文章分享
- 2024-11-22微信小程序的业务域名有什么作用-icode9专业技术文章分享
- 2024-11-22微信小程序 image有类似html5的onload吗?-icode9专业技术文章分享
- 2024-11-22微信小程序中怎么实现文本内容超出行数后显示省略号?-icode9专业技术文章分享
- 2024-11-22微信小程序怎么实现分享样式定制和图片定制功能?-icode9专业技术文章分享
- 2024-11-20微信小程序全栈教程:从零开始的全攻略
- 2024-11-19微信小程序全栈学习:从零开始的完整指南