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