python学习-day2_课堂作业

需求:编写一个购物车程序

  1. 启动,输入工资多少
  2. 打印商品列表
  3. 根据商品代码购买商品
  4. 每次购买后检测余额,够继续买,不够提示余额不足
  5. 可退出,退出时打印购物单和余额信息
#Author:Peng Huang
product_list = [
    ('iphone',5888),
    ('Mac Pro',13888),                          #商品列表使用列表嵌套
    ('starbucks',37),
    ('Black tea',30)
]
shopping_list = []                               #设置一个空的购物列表
salary = input("请输入你的工资:")
if salary.isdigit():                             #检测输入是否为数字,如果是数字,数字为整形
    salary = int(salary)
    while True:                                 #如果上述为真,循环执行下面代码,直到有break或者exit退出循环
        for item in product_list:                #循环打印列表,并打印索引,以索引为商品序列号
            print(product_list.index(item),item)
#       for index,item in enumerate(product_item):     使用enumerate方法打印列表索引和列表元素
#           print(index,item)
        choose_item = input("请输入你想购买的物品序列号:")
        if choose_item.isdigit():
            choose_item = int(choose_item)
            if choose_item < len(product_list) and choose_item >= 0:     #判断输入的商品序列号在数组索引范围内
                product_item = product_list[choose_item]                  #将列表中的元素传给变量
                if product_item[1] <= salary:                             #商品价格小于工资
                    shopping_list.append(product_item)                    #将选的商品添加到购物单
                    salary -= product_item[1]
                    print("已购买\033[42;1m%s\033[0m,您的余额还有:\033[31;1m%s\033[0m" % (product_item[0],salary))     #色彩格式高亮显示\033[31;1m%s\033[0m 31是红色 32是绿色  41是红底色 42是绿底色
                else:
                    print("您的余额已不足,您的余额还有:\033[31;1m%s\033[0m" % salary)
            else:
                print("你所够买的商品不存在。")
        elif choose_item == 'q' or choose_item == 'Q':                  #当输入Q或者q退出,打印购物单和余额
            print("-----购物清单-----")
            for i in shopping_list:
                print(i)
            print("您的余额还有:\033[31;1m%s\033[0m" % salary)
            exit()
        else:
            print("你所够买的商品不存在。")
else:
    print("你的输入工资有误,退出。")

猜你喜欢

转载自www.cnblogs.com/William-hp/p/9287949.html
今日推荐