# _author:"Isaac_hu" # data: 2018/2/26 product_list = [ ('Mac', 9000), ('kindle', 800), ('tesla', 90000), ('python book', 105), ('bike', 2000), ] shopping_car = [] saving = input('please input your money:') if saving.isdigit(): saving = int(saving) while True: for i, v in enumerate(product_list, 1): # in后面是一个序列,enumerate添加序号。 # print(product_list.index(i)+1, i) print(i, '---', v) choice = input('选择购买的商品编号[退出:q]:') if choice.isdigit(): choice = int(choice) if 0 < choice <= len(product_list): p_item = product_list[choice-1] if p_item[1] < saving: saving -= p_item[1] shopping_car.append(p_item) else: print('余额不足,还剩%s' % saving) print(p_item) else: print('编号不存在') elif choice == 'q': print('退出') print('-----您已购买如下商品------') for i in set(shopping_car): print(i, ':', shopping_car.count(i)) print('您还剩%s元钱' % saving) break else: print('invalid input')
购物车的优化版,这样写的好处可以增加物品的种类,可以修改。在后面用到了enumerate函数,这个可以为物品进行编号。还有set函数,用于计算某个商品在购物车出现的次数。