zoukankan      html  css  js  c++  java
  • 20201231-1 购物车程序练习实例

    
    程序讲解:
    商品列表是动态的,可能随时增加,减少,所以不能写死
    
    Step1:打印商品列表
    方式1
    product_list = [
        ('Iphone',5800),
        ('Mac Pro',9800),
        ('Bike',800),
        ('Watch',10600),
        ('Coffee',31),
        ('Alex Python',120),
    ]
    
    工资只输入一次,所以放循环外面
    salary = input("Input your salary: ")
    if salary.isdigit():
        salary = int(salary)
        while True:
            for item in product_list:
                print(product_list.index(item), item)
    
            break
    
    方式2
    不通过下标,一个更直接的方法
    product_list = [
        ('Iphone',5800),
        ('Mac Pro',9800),
        ('Bike',800),
        ('Watch',10600),
        ('Coffee',31),
        ('Alex Python',120),
    ]
    
    salary = input("Input your salary: ")
    if salary.isdigit():
        salary = int(salary)
        while True:
            for index, item in enumerate(product_list):
                print(index, item)
    
            break
    1. 关于 enumerate
    >>> a = [1,2,3]
    >>> for i in enumerate(a):print(i)
    ...
    (0, 1)
    (1, 2)
    (2, 3)
    每一个 i 都变成了 一个元组 第一个是小标,第二个是数据本身
    enumerate 做的就是 取出了 列表的下标
    
    Step2:根据用户选择做判断
    product_list = [
        ('Iphone',5800),
        ('Mac Pro',9800),
        ('Bike',800),
        ('Watch',10600),
        ('Coffee',31),
        ('Alex Python',120),
    ]
    shopping_list = []
    salary = input("Input your salary: ")
    if salary.isdigit():
        salary = int(salary)
        while True:
            for index, item in enumerate(product_list):
                print(index, 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 p_item[1] <= salary:    # 买的起
                        shopping_list.append(p_item)
                        salary -= p_item[1]
                        print("Added %s into shopping cart, your current balance is %s" %(p_item, salary))
            elif user_choice == 'q':
                print('exit....')
            else:
                print("invalid option")
    1. 如果想给结果变个颜色,红色 31,绿色 32
    print("Added %s into shopping cart, your current balance is 33[31;1m%s33[0m" %(p_item, salary))
    这个就是死记,后面 033[0m 一定要关闭
    product_list = [
        ('Iphone',5800),
        ('Mac Pro',9800),
        ('Bike',800),
        ('Watch',10600),
        ('Coffee',31),
        ('Alex Python',120),
    ]
    shopping_list = []
    salary = input("Input your salary: ")
    if salary.isdigit():
        salary = int(salary)
        while True:
            for index, item in enumerate(product_list):
                print(index, 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 p_item[1] <= salary:    # 买的起
                        shopping_list.append(p_item)
                        salary -= p_item[1]
                        print("Added %s into shopping cart, your current balance is 33[31;1m%s33[0m" %(p_item, salary))
            elif user_choice == 'q':
                print('exit....')
            else:
                print("invalid option")
    2. 这是能买得起的情况,如果买不起呢?
    product_list = [
        ('Iphone',5800),
        ('Mac Pro',9800),
        ('Bike',800),
        ('Watch',10600),
        ('Coffee',31),
        ('Alex Python',120),
    ]
    shopping_list = []
    salary = input("Input your salary: ")
    if salary.isdigit():
        salary = int(salary)
        while True:
            for index, item in enumerate(product_list):
                print(index, 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 p_item[1] <= salary:    # 买的起
                        shopping_list.append(p_item)
                        salary -= p_item[1]
                        print("Added %s into shopping cart, your current balance is 33[31;1m%s33[0m" %(p_item, salary))
                    else:
                        print("33[41;1m你的余额只剩[%s]啦,还买个毛线33[0m"%salary)
                        2-1 31 和 41 的区别
                        32 是绿色,42 就是背景是绿色
            elif user_choice == 'q':
                print('exit....')
            else:
                print("invalid option")
    
    
    3. 如果现在想退出了,打印已经买的产品
    product_list = [
        ('Iphone',5800),
        ('Mac Pro',9800),
        ('Bike',800),
        ('Watch',10600),
        ('Coffee',31),
        ('Alex Python',120),
    ]
    shopping_list = []
    salary = input("Input your salary: ")
    if salary.isdigit():
        salary = int(salary)
        while True:
            for index, item in enumerate(product_list):
                print(index, 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 p_item[1] <= salary:    # 买的起
                        shopping_list.append(p_item)
                        salary -= p_item[1]
                        print("Added %s into shopping cart, your current balance is 33[31;1m%s33[0m" %(p_item, salary))
                    else:
                        print("33[41;1m你的余额只剩[%s]啦,还买个毛线33[0m"%salary)
            elif user_choice == 'q':
                print("-------shopping list--------")
                for p in shopping_list:
                    print(p)
                3-1. 最后是退出,用exit()
                print("Your current balance:",salary)
                exit()
            else:
                print("invalid option")
    
    4. 现在可以输入 6 应该如何处理?
    product_list = [
        ('Iphone',5800),
        ('Mac Pro',9800),
        ('Bike',800),
        ('Watch',10600),
        ('Coffee',31),
        ('Alex Python',120),
    ]
    shopping_list = []
    salary = input("Input your salary: ")                   # 输入工资,判断是不是数字
    if salary.isdigit():                                    # 如果是数字
    # 如果输入的工资不是数字,就退出了,可以加 else 判断
        salary = int(salary)                                # 将其int
        while True:
            for index, item in enumerate(product_list):
                print(index, 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 p_item[1] <= salary:    # 买的起
                        shopping_list.append(p_item)
                        salary -= p_item[1]
                        print("Added %s into shopping cart, your current balance is 33[31;1m%s33[0m" %(p_item, salary))
                    else:
                        print("33[41;1m你的余额只剩[%s]啦,还买个毛线33[0m"%salary)
                # 4-1 如果输入的数字不在范围内
                else:
                    print("product code [%s] is not exist!"% user_choice)
    
            elif user_choice == 'q':
                print("-------shopping list--------")
                for p in shopping_list:
                    print(p)
                print("Your current balance:",salary)
                exit()
            else:
                print("invalid option")
  • 相关阅读:
    C# 控件,MenuStrip,statusStrip,contextMenuStrip,ImageList, Listview,MonthCalendar、DataGridView,combobox,textbox,DateTimePicker,treeview,picturebox、toolStrip,radioButton,TableLayoutPanel,numericUpDown
    c# 数据库操作,多数据库操作、数据库操作异常报错等问题
    Jquery 选择器的写法, selector
    C# 一、语法结构、注释、命名空间、Main入口点、变量与常量、运算符、流程控制(循环)
    c# 项目文件,C#viual studio使用方法
    finereport Web工具栏
    C# 学习笔记
    c# public private protected internal protected internal
    js Object.prototype.hasOwnProperty() 与 for in 区别
    js 对象的深克隆
  • 原文地址:https://www.cnblogs.com/azxsdcv/p/14215139.html
Copyright © 2011-2022 走看看