Python3X编写购物行为

功能要求:
要求用户输入总资产,例如:2000
显示商品列表,让用户根据序号选择商品,加入购物车购买
如果商品总额大于总资产,提示账户余额不足,否则,购买成功
goods = [{"name":"电脑","price":1999},
         {"name":"鼠标","price":10},
         {"name":"游艇","price":20},

         {"name":"美女","price":998},]

代码如下:

# -*-coding:utf-8-*-
# 商品列表
goods = [{"ID": "1", "name": "电脑", "price": 1999},
         {"ID": "2", "name": "鼠标", "price": 10},
         {"ID": "3", "name": "游艇", "price": 20},
         {"ID": "4", "name": "美女", "price": 998}, ]
# 定义购物车
goods_car = []
# 定义总资产
money = input("请输入您的总资产:")


# 用户输入总资产
while not money.isdigit():
    print("仅允许输入数字")
    money = input("请输入您的总资产:")
else:
    user_amount = int(money)
    while True:
        print("商品列表".center(30, "="))
        for i in goods:
            print(i['ID'], i['name'], i['price'])


        choose = input("请输入您要购买的商品编号,按q退出:")
        if choose == 'q':
            break


        if choose.isdigit():
            goods_num = int(choose)
            # 判断输入编号是否在列表中
            if 0 < goods_num <= len(goods):
                # 获取端口列表中选择的商品
                buy_goods = goods[goods_num - 1]
                # 判断商品金额是否大于用户的资产
                goods_price = buy_goods['price']
                if user_amount < goods_price:
                    print("账户余额不足!不能购买该商品")
                else:
                    # 将用户购买成功的商品加入到购物车中
                    goods_car.append(buy_goods)
                    user_amount -= goods_price
                    # print("购买成功,商品是:%s" % goods_car)
                    for my_goods in goods_car:
                        print("购买成功,商品是:", my_goods['name'], my_goods['price'])


                    print("预算还有%d" % user_amount)
            else:
                print("输入的商品编号有误!请重新输入:")
        else:

            print("仅允许输入数字")


运行结果如下:

请输入您的总资产:200
=============商品列表=============
1 电脑 1999
2 鼠标 10
3 游艇 20
4 美女 998
请输入您要购买的商品编号,按q退出:5
输入的商品编号有误!请重新输入:
=============商品列表=============
1 电脑 1999
2 鼠标 10
3 游艇 20
4 美女 998
请输入您要购买的商品编号,按q退出:1
账户余额不足!不能购买该商品
=============商品列表=============
1 电脑 1999
2 鼠标 10
3 游艇 20
4 美女 998
请输入您要购买的商品编号,按q退出:2
购买成功,商品是: 鼠标 10
预算还有190
=============商品列表=============
1 电脑 1999
2 鼠标 10
3 游艇 20
4 美女 998
请输入您要购买的商品编号,按q退出:2
购买成功,商品是: 鼠标 10
购买成功,商品是: 鼠标 10
预算还有180
=============商品列表=============
1 电脑 1999
2 鼠标 10
3 游艇 20
4 美女 998
请输入您要购买的商品编号,按q退出:

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值