需求:编写一个购物车程序
- 启动,输入工资多少
- 打印商品列表
- 根据商品代码购买商品
- 每次购买后检测余额,够继续买,不够提示余额不足
- 可退出,退出时打印购物单和余额信息
#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("你的输入工资有误,退出。")