一、购物车1.0
需求:
(1)打印产品列表里的产品
(2)写一个循环不断问用户想买什么,用户选择一个商品编号,把对应的商品编号添加到购物车,打印购物车里的商品列表
代码:
1 # __author__ = "wyb" 2 # date: 2018/4/7 3 # 需求: 4 # (1)打印产品列表里的产品 5 # (2)写一个循环不断问用户想买什么,用户选择一个商品编号, 6 # 把对应的商品编号添加到购物车,打印购物车里的商品列表 7 8 # 产品列表: 9 products = [['IPhone8', 6888], ['MacPro', 14688], ['Coffee', 21], ['book', 41], ['Nike Shoes', 999]] 10 11 # 购物车中的商品列表: 12 shopping_car = [] 13 14 while True: 15 # 打印商品列表: 16 print("商品列表".center(30, '-')) 17 for index, p in enumerate(products): 18 print("%s: %s %s" % (index, p[0], p[1])) 19 20 # 输入及输入处理及输出购物车里的商品列表: 21 # 输入: 22 choice = input("输入想购买的物品(输入q退出): ") 23 # 退出: 24 if choice == 'q' or choice == 'Q': 25 # 输出购物车里的商品列表: 26 if shopping_car is []: 27 print("您没有购买任何商品") 28 else: 29 print("您购买了以下的商品".center(30, '-')) 30 for index, p in enumerate(shopping_car): 31 print("%s: %s %s" % (index, p[0], p[1])) 32 break 33 # 输入处理: 34 # 是数字: 35 elif choice.isdigit(): 36 choice = int(choice) 37 if choice >= len(products) or choice < 0: 38 print("请输入正确的序号!") 39 continue 40 # 不是数字: 41 else: 42 print("请输入数字序号!") 43 continue 44 45 # 向购物车中添加商品: 46 shopping_car.append(products[choice]) 47 print("Add product %s into the shopping car" % (products[choice]))
二、购物车2.0
基础需求:
1、启动程序后,输入用户名密码后,让用户输入工资,然后打印商品列表
2、允许用户根据商品编号购买商品
3、用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
4、可随时退出,退出时,打印已购买商品和余额
5、在用户使用过程中, 关键输出,如余额,商品已加入购物车等消息,需高亮显示
注: 基础需求中的高亮显示可见我的另外一篇博客: http://www.cnblogs.com/wyb666/p/8850276.html
扩展需求:
1、用户下一次登录后,输入用户名密码,直接回到上次的状态,即上次消费的余额什么的还是那些,再次登录可继续购买
2、允许查询之前的消费记录
数据结构:
1 goods = [ 2 {"name": "电脑", "price": 1999}, 3 {"name": "鼠标", "price": 10}, 4 {"name": "游艇", "price": 20}, 5 {"name": "美女", "price": 998}, 6 ...... 7 ]
代码:
基础需求实现:
1 # 用户信息 2 user_info = { 3 'wyb': '666', 4 } 5 6 # 商品列表 7 goods = [ 8 {"name": "电脑", "price": 1999}, 9 {"name": "鼠标", "price": 10}, 10 {"name": "游艇", "price": 20}, 11 {"name": "美女", "price": 998}, 12 ] 13 14 # 购物车列表 -> [{"name": "电脑", "price": 1999, "number": 1}...] 15 shopping_cart = [] 16 17 18 # 高亮输出字符串 19 def output_highlight(s): 20 print('