python---购物车

匿名 (未验证) 提交于 2019-12-02 22:51:30

money = input("请输入充值的金额:")
if money.isdecimal():
# 判断用户输入的是不是数字(是不是真钱)
goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
]
# goods就是超市中的商品货架
car = {}
# 推的购物车
money_sum = 0
# 消费的总额
while True:
# 循环展示商品
for i in range(len(goods)):
print(i+1,goods[i]["name"],goods[i]["price"])
# 展示商品序号,名称,价格
num = input("请输入您要购买的商品序号(N/结算|Q/退出):")
# 用户输入要购买的序号

    if num.isdecimal() and 0 < int(num) <= len(goods):         # 判断用户输入商品序号在商品货架上         num = int(num) - 1         # 展示的时候进行加1 用户输入的商品序号进行减1         print(goods[num]["name"],goods[num]["price"])         # 展示用户选择的商品名称和价格         if car.get(goods[num]["name"]):             # 判断用户推得购物车中是否有此商品             car[goods[num]["name"]][goods[num]["price"]] += 1             # 在针对此商品数量进行加1         else:             # 此商品不在购物车中             car[goods[num]["name"]] = {goods[num]["price"]:1}             # 将此商品添加到购物车中         print(car)         # 查看我们的购车中都有哪些商品      elif num.upper() == "N":         # 结算功能         for em in car:             # 循环查看购物车中的商品             sp_num = list(car[em].values())[0]             # 每一个商品的数量             sp_price = list(car[em].keys())[0]             # 每一个商品的单价             money_sum += int(sp_num) * int(sp_price)             # 购物车中所有商品的总价格             print(f"商品:{em}\t数量:{sp_num}\t单价:{sp_price}")             # 给用户展示购买了哪些商品          if int(sp_num) * int(sp_price) <= int(money):             # 判断用户购物车中商品的总金额时候小于用户的充值金额             money = int(money) - money_sum             # 进行支付             print(f"结算成功,消费金额 :{money_sum}账户余额 :{money}")             # 给用户显示此次购物共消费的金额             car.clear()             # 清空购物车(结算完了)         else:             print("钱不够啊!")             sp_name = input("请输入您要删除的商品名称:")             # 让用户输入要删除的商品名称             if sp_name in car:                 # 判断要删除的商品是否在购物车中                 if car[sp_name][list(car[sp_name].keys())[0]] > 0:                     # 判断此商品的总数量是否大于0                     car[sp_name][list(car[sp_name].keys())[0]] -= 1                     # 对商品的总数量进行减1                 if car[sp_name][list(car[sp_name].keys())[0]] == 0:                     # 如果此商品不在购物车中                     del car[sp_name]                     # 删除此商品             else:                 print("商品不存在!")      elif num.upper() == "Q":         # 退出         print("欢迎下次光临!")         money = int(money) - money_sum         # 用户的充值金额 减去消费金额 获取最新的账号余额         print(f"结算成功,消费金额 :{money_sum}账户余额 :{money}")         # 给用户显示此次购物消费了多少钱,还剩多少钱         break         # 将客人请出超市     else:         print("输入错误,请重新输入!")

else:
print("滚犊子!")

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!