以下购物车程序v1版本,是先基本功能要求:
1 # enconding: utf-8 2 # 数据结构: 3 # goods = [ 4 # {"name": "电脑", "price": 1999}, 5 # {"name": "鼠标", "price": 10}, 6 # {"name": "游艇", "price": 20}, 7 # {"name": "美女", "price": 998}, 8 # ...... 9 # ] 10 # 11 # 功能要求: 12 # 基础要求: 13 # 14 # 1、启动程序后,输入用户名密码后,让用户输入工资,然后打印商品列表 15 # 16 # 2、允许用户根据商品编号购买商品 17 # 18 # 3、用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 19 # 20 # 4、可随时退出,退出时,打印已购买商品和余额 21 # 22 # 5、在用户使用过程中, 关键输出,如余额,商品已加入购物车等消息,需高亮显示 23 # 24 # 25 # 扩展需求: 26 # 27 # 1、用户下一次登录后,输入用户名密码,直接回到上次的状态,即上次消费的余额什么的还是那些,再次登录可继续购买 28 # 29 # 2、允许查询之前的消费记录 30 31 goods = [ 32 {"name": "电脑", "price": 1999}, 33 {"name": "鼠标", "price": 10}, 34 {"name": "游艇", "price": 20}, 35 {"name": "美女", "price": 998}, 36 ] 37 38 account = {"alex": "123", "emily": "123", "yanfu": "123"} 39 40 username = input("请输入用户名: ").strip() 41 password = input("请输入密码: ").strip() 42 list_all = [] # 存放所有商品 43 shopping_list = [] # 空列表,存放购买的商品 44 45 if username not in account or password != account[username]: 46 print("用户名密码有错误,请检查后再试!") 47 exit() 48 49 salary = input("请输入你的工资: ") 50 if salary.isdigit() is True: 51 salary = int(salary) 52 else: 53 print("工资非数字,请从新输入: ") 54 55 while True: 56 for info in goods: 57 list_all.append([info['name'], info['price']]) # 把商品信息添加到列表 58 59 while True: 60 print("可选商品如下:") 61 for index, i in enumerate(list_all): # index作为下标索引 62 print(index, i) 63 user_choice = input("请输入你要购买的商品:") 64 if user_choice == "n": 65 if shopping_list is None: 66 print("购物车为空") 67 else: 68 print("---------购物车-----------") 69 for s_index, s in enumerate(shopping_list): 70 print(s_index, s) 71 print("-------------------------") 72 elif user_choice.isdigit(): 73 user_choice = int(user_choice) 74 if user_choice < len(list_all) and user_choice >= 0: 75 product_choice = list_all[user_choice] 76 if product_choice[1] < salary: 77 shopping_list.append(product_choice) # 买得起,就放入购物车 78 salary -= product_choice[1] 79 print( 80 "添加 33[33;1m{} 33[0m到您的购物车,您剩余工资为 33[33;1m{} 33[0m".format( 81 product_choice, salary)) 82 else: 83 print( 84 "