购物车程序
#购物车程序需求:
1、用户启动时先输入工资
2、用户启动程序后打印商品列表
3、允许用户选择购买商品
4、允许用户不断地购买商品
5、购买时检测余额是否足够,足够直接扣款;否则提示余额不足
6、允许用户随时退出程序,退出时打印已购列表
#注:虽然上边基本的6个条件都能达到,但是存在问题:执行程序的时候,用户输入的数字大于0-5这个设定的范围,他仍然会运行,不会停止或者报错。
购物车代码如下:
1 salary = input("input your salary:") 2 if salary.isdigit(): 3 salary = int(salary) 4 print ("\033[32m您现在拥有RMB[%s]元。\033[0m" %salary) 5 else: 6 print ("invalid data type..") 7 exit() 8 welcome_msg = "\033[41m欢迎来到购物车程序\033[0m".center(50,'*') 9 print (welcome_msg) 10 exit_flag = 'Flase' 11 product_list = [ 12 ('IphoneX',7000), 13 ('Mac Air',8000), 14 ('Mac Pro',12000), 15 ('Bike',500), 16 ('Ice cream',10), 17 ('snacks',100),] 18 shoping_car = [] 19 print ("product list".center(50,'*')) 20 for product_item in enumerate(product_list) : 21 index = product_item[0] 22 p_name = product_item[1][0] 23 p_price = product_item[1][1] 24 print (index,p_name,p_price) 25 while exit_flag is not True: 26 user_choice = input("[q=quit,c=check]\033[31m请按数字键选择您想要购买的商品:\033[0m") 27 if user_choice.isdigit(): 28 user_choice = int(user_choice) 29 if user_choice < len(product_list): 30 p_item = product_list[user_choice] 31 if p_item[1] <= salary: 32 shoping_car.append(p_item) 33 salary -= p_item[1] 34 print("购买了[%s]到购物车,你的余额还剩余\033[32m[%s]\033[0m" %(p_item,salary)) 35 else: 36 print ("您的\033[31m余额不足\033[0m购买[%s],您的余额为:\033[31m[%s]\033[0m" %(p_item,salary)) 37 else: 38 if user_choice == 'q' or user_choice == 'quit': 39 print ("您购买的商品列表如下:".center(50,'-')) 40 for item in shoping_car: 41 print (item) 42 print ("END".center(50,'*')) 43 print ("您的余额还剩下\033[32m[%s]\033[0m元" %salary) 44 exit_flag = True 45 elif user_choice == 'c' or user_choice == 'check': 46 print ("\033[32m您已经购买了以下商品:\033[0m".center(50,'-')) 47 for item in shoping_car: 48 print (item) 49 print ("END".center(50,'*')) 50 print ("您的余额还剩下\033[32m[%s]\033[0m元" %salary)
个人备忘,欢迎阅读