程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2023-05(1)

python---购物车

发布于2019-08-06 11:03     阅读(428)     评论(0)     点赞(0)     收藏(0)


# 让用户输入金钱

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("滚犊子!")



所属网站分类: 技术文章 > 博客

作者:进击的巨人

链接:https://www.pythonheidong.com/blog/article/8097/06ccf2d28b2a694b4593/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

0 0
收藏该文
已收藏

评论内容:(最多支持255个字符)