要求:
1、写一段商城程购物车序的代码
2、用列表把商城的商品清单存储下来,存到列表 shopping_mail
3、购物车的列表为shopping_cart
4、用户首先输入工资金额,判断输入为数字
5、用户从商城购物清单中选择购买物品,每次购买成功就用工资减去物品单价
6、判断用户金额是否足够,不足够提示用户
7、如果用户不想再继续购物,则按Q键退出菜单
8、用户退出之后,将用户购买的清单打印出来。
9、尽量学习带颜色输出几个重点信息字符。
1 # Author:show530 2 3 shopping_mail = [ 4 (‘Iphone‘,5800), 5 (‘Mac Pro‘,9800), 6 (‘Bike‘,800), 7 (‘Watch‘,10600), 8 (‘Coffee‘,31), 9 (‘Alex Python‘,120), 10 ] 11 shopping_cart = [] 12 13 salary=input("请输入您的工资金额:") 14 if salary.isdigit(): 15 salary=int(salary) 16 while True: 17 for index,item in enumerate(shopping_mail): 18 print(index,item) 19 enter_number=input("请输入您要购买的商品编号:") 20 if enter_number.isdigit(): 21 enter_number=int(enter_number) 22 if enter_number>-1 and enter_number<len(shopping_mail): 23 p_item=shopping_mail[enter_number] 24 if p_item[1]<=salary: 25 shopping_cart.append(p_item) 26 salary-=p_item[1] 27 print("您选购的商品金额是:\033[31m%s\033[0m,您的工资余额为:\033[31m%s\033[0m" % (p_item, salary)) 28 else: 29 print("您的余额不足,无法继续购买!") 30 else: 31 print("您输入的商品编号不存在:") 32 elif enter_number=="q": 33 print("\033[0;32;40m------您本次购物清单为-------\033[0m") 34 for p in shopping_cart: 35 print(p) 36 print("您的余额为:\033[31m%s\033[0m"%(salary)) 37 exit() 38 else: 39 print("\033[31m输入有误,必须输入数字或者正整数!\033[0m")
这个程序花了我较多时间,差不多一个晚上都在反复思考这个。
1、salary.isdigit()还不是太熟悉,这个方法的作用是检查用户输入的是否为数字,不过不知道为什么,输入浮点数也会报错。负数貌似也会报错。这里先囫囵吞枣一下。
2、对于多层嵌套循环还不熟悉,开始一直输出出现问题,主要原因就是嵌套格式不对。以后写程序之前要注意画一下流程图。
3、学习了颜色输出的用法。