Python学习记录W2-10:购物车程序练习

程序练习
程序:购物车程序
需求:
1.启动程序后,让用户输入工资,然后打印商品列表
2.允许用户根据商品编号购买商品
3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
4.可随时退出,退出时,打印已购买商品和余额

 

# Author: Allenlee


#定义商品列表
product_list = [
    ('Cellphone',3000),
    ('Bag',500),
    ('Toy',100),
    ('Book',50),
    ('Car',50000)
]


#定义空的购物车列表
shopping_list = []


while True:
    #用户输入金额
    Money = input("请输入您的金额(整数):")


    #判断用户输入的是否为数字
    if Money.isdigit():
        Money = int(Money)  #强制转化为int型


        while True:
            #打印商品列表
            for i in product_list:



                print (product_list.index(i)+1,i)

            #也可按如下方法来写
            '''
            for index,item in enumerate(product_list):
                print(index+1,item)
            '''


            # 用户输入的商品编号
            user_choice = input("请输入您需要购买商品的编号:")


            #判断用户输入的商品编号是否为数字
            if user_choice.isdigit():
                user_choice = int(user_choice)
                #判断用户输入的数字是否超出商品范围
                if user_choice <= len(product_list) and user_choice > 0:
                    p_item = product_list[user_choice-1]     #用户选择的商品信息


                    #判断用户所剩金额与商品价格的比较
                    if p_item[1] <= Money:      #买得起
                        Money = Money - p_item[1]
                        print("你购买的商品是%s,所剩的金额是%s" %(p_item,Money))
                        shopping_list.append(p_item)
                    else:   #买不起
                        print("您的余额不足,请重新选择商品!")
                else:
                    print("没有该商品,请重新输入!")


            #如果用户输入q则退出
            elif user_choice == 'q':
                print("您购买的商品如下:")
                #打印购物车的列表
                for goods in shopping_list:
                    print(goods)
                print("您还剩余:",Money)
                exit()
            else:
                print("输入错误!")


    else:
        print("输入不正确!")



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值