python基础——购物车程序

思路

商品列表

账户金额

选择商品

加入购物车

退出结算

# product_list        # 商品列表
# saving              # 存款
# choice              # 编码
# p_item              # 取出商品名称
# shopping_car        # 购买车

product_list = [
    ('Mate 20 pro',5300),
    ('Computer',7000),
    ('Robot',12000),
    ('Toy car',1200),
    ('Jacket',700)
]
shopping_car = []
saving = input('please input your money:')      # 用户输入存款
if saving.isdigit():               # 判断是否为字符串类型
    saving = int(saving)           # 将字符串类型转换成整数类型
    # for i in product_list:
    #     print(product_list.index(i),i)
    # for i in enumerate(product_list, 1):
    #     print(i)
    while True:
        for i,v in enumerate(product_list,1):   # 使用enumerate方法,加上索引号,从1开始打印
            print(i,'>>>',v)
        choice = input('请选择您需要购买的商品编号【退出:q】:')      # 用户输入需要购买商品的骗号/退出
        if choice.isdigit():                # 判断是否为字符串类型
            choice = int(choice)            # 将字符串类型转换成整数类型
            if choice>0 and choice<=len(product_list):      # 当用户输入的商品编号大于0,并且小于等于商品的编号
                p_item = product_list[choice - 1]           # 使用编码取出指定的商品
                if p_item[1]<saving:                        # 取出商品的价格,和存款做比较,如何商品价格小于存款
                    saving -= p_item[1]                     # 那么使用存款减去商品价格
                    shopping_car.append(p_item)             # 将选购的商品加入购买车
                else:                                       # 如果存款小于商品价格,打印余额不足
                    print('余额不足,还剩%s'%saving)
                print(p_item)
            else:
                print('您选择的商品编码不存在')
        elif choice == 'q':
            print('---------您购买了如下商品---------')
            for i in shopping_car:
                print(i)
            print('您还剩下金额%s元'%saving)
            break
        else:
            print('invalid input')

猜你喜欢

转载自blog.csdn.net/qq_41650233/article/details/89817496