设计思路:首先,每个商品的信息可以用元组保存,再用一个列表保存所有的商品信息;定义一个变量,然后将用户输入的金额赋给此变量;定义一个空的列表,用于保存已经购买的商品,再用while循环实现多次购买。代码如下:
product_list =[ ('mac笔记本',9000), ('kindle',800), ('tesla',900000), ('python book',105), ('bike',2000)]saving = input('please input your money:')shopping_car =[] #保存已购物品if saving.isdigit():#判断输入的是否是数字 saving = int(saving) while True: for i,v in enumerate(product_list,1): #用i,v两个变量接受元组,就会把元组里第一个给i,第二个值给v print(i,v) choice = input('选择购买商品编号[退出:Q]:')#引导用户选择商品
#验证输入是否合法 if choice.isdigit(): choice = int(choice) if choice > 0 and choice <= len(product_list): #将用户选择商品用choice选择出来 p_iter=product_list[choice-1] print(p_iter) #如果钱够,用saving减去商品价格,再加入购物车 if p_iter[1]<saving: saving-=p_iter[1] shopping_car.append(p_iter[0]) else: print('余额不足!还剩%s'%saving) elif choice=="Q": print("---------你已经购买如下商品--------") #循环遍历购物车里的商品,购物车存放的是已购商品 for i in shopping_car: print(i) print('你还剩余额为%s元'%saving) break else: print('invalid input')运行结果如图