python3 购物车练习

python

# 购物车
# 功能要求:
# 要求用户输入总资产,例如:2000
# 显示商品列表,让用户根据序号选择商品,加入购物车
# 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
# 可充值、某商品移除购物车

python;gutter:true;">goods = [{"name": "电脑", "price": 1999}, {"name": "鼠标", "price": 10},

{"name": "游艇", "price": 20}, {"name": "美女", "price": 998}, ]

dic1, dic2, dic3, dic4 = goods # 拆分为各商品字典

name = [dic1["name"], dic2["name"], dic3["name"], dic4["name"]] # 商品名列表(从各商品字典取去商品名)

price = [dic1["price"], dic2["price"], dic3["price"], dic4["price"]] # 商品价格列表(与商品名列表对应)

# dic_g = {} # 定义购物车字典(未使用)

list_g = [] # 购物车商品列表

price_g = [] # 购物车商品价格列表

price_s = 0 # 购物车商品总价

mo = input("请输入您的总资产(¥):")

tag = True

while tag:

if mo.isdigit(): # 判断金额是否为整数

mo = int(mo)

# 列出商品编号和名称

print("\n""输入商品序号添加至购物车:")

for i in range(0, len(name)):

print(i + 1, name[i])

print(len(name) + 1, "退出购物")

print(len(name) + 2, "<<结算>>")

# 购物选择

tag_n = True

while tag_n:

n = int(input('\n'"请选择商品>>>"))

if n in range(1, len(name) + 1):

list_g.append(name[n - 1]) # 加入购物车商品列表(!!!如果换成从字典取值,则不能显示重复购买的商品)

price_g.append(price[n - 1]) # 加入购物车商品价格列表(可不加,直接加价格)

price_s += price[n - 1] # 每添加一次购物车,购物总价也增加

print("购物车已添加:", list_g)

print("总价格为:", price_s) # 打印总价格

elif n == len(name) + 1:

print("已退出购物!")

tag_n = False

tag = False

elif n == len(name) + 2:

if len(list_g) == 0:

print("购物车无商品!")

continue

# 购物车有商品结算

tag_g = True

while tag_g:

# 资产不足

if mo < price_s:

print("\n""资产不足!充值或删除商品:""\n"

"1 充值""\n"

"2 删除商品""\n"

"3 退出购物")

m = int(input("请选择>>"))

tag_m = True

while tag_m:

# 充值

if m == 1:

mo_add = int(input("请输入金额:"))

mo += mo_add

print("总资产为:", mo)

print("总价格为:", price_s)

tag_m = False

# 删除购物车商品

elif m == 2:

print("\n""购物车已添加:", list_g)

print("选择要删除购物车的商品编号>>>")

for i in range(0, len(name)):

print(i + 1, name[i])

print(len(name) + 1, "返回上一层")

# 购物车删除,总价格减除

tag_n1 = True

while tag_n1:

n1 = int(input("请选择>"))

if n1 in range(1, len(name) + 1) and name[n1 - 1] in list_g:

list_g.remove(name[n1 - 1]) # 移除购物车商品列表

price_g.remove(price[n1 - 1]) # 移除购物车商品价格列表(可不加,直接减总价)

price_s = price_s - price[n1 - 1]

if len(list_g) == 0: # 判断购物车是否被删空

print("\n""购物车无商品!")

mo = str(mo) # 无商品,返回重新购物

Enter = input("<<<按Enter添加购物车>>>")

tag_n1 = False

tag_m = False

tag_g = False

tag_n = False

else:

print("\n""购物车剩余:", list_g)

print("总资产为:", mo)

print("总价格为:", price_s)

tag_n1 = False

elif n1 == len(name) + 1:

tag_n1 = False

tag_m = False

else:

print("购物车没有此商品!")

elif m == 3:

print("已退出购物!")

tag_m = False

tag_g = False

tag_n = False

tag = False

else:

print("输入错误!")

# 资产充足

else:

enter = input("<<资产充足,按Enter结算>>")

mo -= price_s

print("资产余额:", mo)

print("购物成功!")

tag_g = False

tag_n = False

tag = False

else:

print("输入错误!")

else:

print("输入金额错误!")

  

  

以上是 python3 购物车练习 的全部内容, 来源链接: utcz.com/z/387703.html

回到顶部