购物车小程序
新人写的不好还请见谅~
一、实现功能
1、具有充值功能
2、商品展示功能
3、购买流程
4、余额结算功能
5、余额不足可选择移除商品
6、不想购物可退出购买流程
二、设计思路(不唯一,本人思路不是最优解)
以之前整理的知识点进行梳理。
可分为6个部分进行设计:
1、充值:开始时可充值购物卡,我们可以把充值记录追加到一个空列表中进行存储,并将此列表配置为全局变量
2、商品信息处理:展示给用户的是一个自定义的展示页面,通过调用json文件,我们可以通过列表嵌套字典的形式将商品信息进行整理存储,实际我们进行内部数据处理调用的就是这个列表,将此列表配置为全局变量
3、购买操作:在这个环节,我们需要用户自行输入要购买的商品序号,以及结算、退出购买操作,定义两个空列表,一个存储用户购买商品的序号记录,这个列表用来计算用户同一件商品购买了多少次,另一个列表用来记录用户的购买信息(序号、商品名称、单价、数量、总价),以结算时展示给用户,将此列表配置为全局变量
4、购物车:这部分主要用来给用户展示结算时的购买信息
5、结算操作:此环节的主要作用是在用户未超额的情况下,计算用户购买所物品总值及余额信息
6、余额判断:在此环节中,系统需判断用户是否超额,超额后需用户自行选择舍弃一些商品,直到余额大于0时,返回结算操作,自动进行账单结算,此环节需调用全局中的充值变量以及购买信息变量来实现
三、程序代码
json文件:
代码:
import time
import json
import re
#充值记录
lst1 = []
#商品表单
lst2 = []
#购物车信息
lst5 = []
#充值
def chongzhi():
global lst1
message = input("打钱,兄弟~:")
print("恭喜你~ 充值成功{}元人民币".format(message))
lst1.append(message)
strvar = ""
for i in range(1,51):
strvar += "#"
print("\r[%-50s] %d%%" %(strvar,int(i*2)),end="")
time.sleep(0.01)
#商品信息处理
def shopping_list():
with open("/Users/atsukokoshi/Desktop/学习记录/代码day18/shopping_data.json",mode="r",encoding="utf-8") as fp:
count = 1
global lst2
print("\n"+"序号"+" "+"商品名称"+" "+"价格")
for i in fp:
dic_new = {
}
dic