• 简单购物车程序练习题


    内容要求:

    1. 启动程序后,让用户输入工资,然后打印商品列表
    2. 允许用户根据商品编号购买商品
    3. 用户现在商品后,检测余额是否够,够就直接扣款,不够就提醒
    4. 可随时退出,退出时,打印已购买商品和余额
    product_list = [
        ("苹果手机",5000),
        ("单车",300),
        ("手表",200),
        ("被子",100),
        ("杯子",150),
        ("笔记本电脑",6000)
    ]
    #购物车,用于将商品加入
    shop_list = []
    salary = input("请输入你的工资")
    if salary.isdigit():
        salary = int(salary) #判断输入是否是数字,将输入字符转换为数字类型
        #打印商品列表,使用enumerate方式更好,少了查询列表
        while True:
            for index,item in enumerate(product_list):
                print(index,item)
            '''for item in product_list:  #打印商品列表
                print(product_list.index(item),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]
                    if salary > p_item[1]:
                        #计算剩余金额
                        salary -=p_item[1]
                        shop_list.append(p_item)
                        #33[31;1m    33[0m   红色字体
                        print("你增加了商品%s到购物车,剩余金额33[31;1m%s33[0m"%(p_item[0],salary))
                    else:
                        #33[41;1m   33[0m   红色背景
                        print("33[41;1m你的剩余金额为%s,不够买33[0m"% salary)
    
    
                    #print("你购买了%s,剩余%s"%(item[1],salary))
    
                else:
                    print("输入错误")
            elif user_choice == "q":
                print("--------购物清单--------")
                for index,item in enumerate(shop_list):
                    print(index,item)
                print("你的余额是:%s"% salary)
                exit()
            else:
                print("输入错误")
    
    else:
        print("输入错误!")
    

      优化后的代码:

    '''
    1.启动程序后,让用户输入工资,然后打印商品列表
    2.允许用户根据商品编号购买商品
    3.用户现在商品后,检测余额是否够,够就直接扣款,不够就提醒
    4.课随时退出,退出时,打印已购买商品和余额
    '''
    
    product_list = [
        ("苹果手机",5800),
        ("单车",300),
        ("手表",200),
        ("Python书籍",120),
        ("笔记本电脑",4600),
        ("显示器",1100),
    ]
    #购物车列表
    shop_list = []
    salary = input("输入你的工资")
    #判断输入是否数字,若是,将输入字符转换为数字格式
    if salary.isdigit():
        salary = int(salary)
        #利用循环,将商品列表打印出来
        while True:
            for index,item in enumerate(product_list):
                print(index,item)
            print("--------------------------------------")
            user_choice = input("输入你购买的商品编号:")
            #判断输入是否为数字编号,若是,将其转换为数字格式,若输入为q,则退出循环
            if user_choice.isdigit():
                user_choice = int(user_choice)
                #判断用户输入商品编号是否超过商品列表数量
                if user_choice < len(product_list) and user_choice >= 0:
                    #将购买的商品提取出来,加入到shop_list
                    p_item = product_list[user_choice]
                    if p_item[1]>salary:
                        #33[41;1m 33[0m   背景红色
                        print("33[41;1m你的钱不够,买毛线!33[0m")
                        print("--------------------------------------")
                    else:
                        shop_list.append(p_item)
                        #商品购买,减少对应价格
                        salary -=p_item[1]
                        #33[31;1m 33[0m  字体红色
                        print("你购买了%s,剩余价格33[31;1m%s33[0m"%(p_item[0],salary))
                        print("--------------------------------------")
                else:
                    print("输入编号没有对应产品!请重新选择")
            elif user_choice == 'q':
                #打印购物车以及余额
                print("---------shop_list-----------")
                for index,item in enumerate(shop_list):
                    print(index,item)
                print("你的余额是:%s"%salary)
                exit()
            else:
                print("输入错误")
    else:
        print("输入错误")
    

      



    
    
  • 相关阅读:
    016_异步处理_Future
    013_REST Service
    012_介绍Soap&Rest
    011_Validation Rule about Time
    010_Soap update
    006_Salesforce Sharing 使用说明
    005_重写 Standard Delete Button
    004_Intelij 使用,Anonymous Apex
    003_关于IntellJ IDE 2016 1. 4的使用
    Dashborad 上显示出错
  • 原文地址:https://www.cnblogs.com/cheng662540/p/7912637.html
Copyright © 2020-2023  润新知