def shopping(): ''' 购物函数 :return: 无 ''' goods_list = goods.get_all_list() # 调用商品对象的get_all_list方法,获取所有商品信息 goods_count = len(goods_list) # 获取商品的数量 page_div = divmod(goods_count, conf.max_per_page) max_page = page_div[0] if page_div[1] == 0 else page_div[0] + 1 # 计算需要多少页 flag = True page = 1 # 初始化页码 while flag: # 购物主循环,当用户输入r的时候退出购物 select_list = print_goods_list( goods_list, page) # 调用print_goods_list函数并返回当前页商品编号列表 print('当前是%s页/共%s页 %s' % (page, max_page, '退出血拼返回主菜单(r) 上一页(b) 下一页(n)')) # 打印页码机操作选项 chose = input('请输入商品编号加入购物车:') # 获取操作选项 if chose in map(lambda x: str(int(x) + 1), select_list): # 判断是否是商品编号 # 输入的选项在返回的商品编号列表中 goods_name = goods_list[int(chose) - 1]['name'] # 获取商品名称 # goods_id = goods_list[int(chose)-1]['id'] while True: # 确认购买循环 confirm = input('您选择的是%s,\n请确认是否将其放入购物车(y/n):' % goods_name) # 打印用户选择的商品名称要求用户进行确认是否购买 if confirm == 'y': # 确认购买 goods.add_to_shopping_cart( chose) # 调用goods对象的add_to_shopping_cart方法将商品加入购物车 input('%s已放入购物车,\n按任意键继续购物' % goods_name) break elif confirm == 'n': # 购买退出确认购买循环 input('%s已取消放入购物车,\n按任意键继续购物' % goods_name) break else: print('输入错误,请重新输入') elif chose == 'n': # 选择n下一页,页码加1 if page < max_page: page = page + 1 else: input("已经是最后一页了,按任意键继续") elif chose == 'b': # 选择b上一页,页码减1 if page == 1: input("已经是第一页了,按任意键继续") else: page = page - 1 elif chose == 'r': # 选择r,退出购物主循环返回主菜单 flag = False else: input("输入错误,按任意键继续")
def shopping(): ''' 购物函数 :return: 无 ''' goods_list = goods.get_all_list() # 调用商品对象的get_all_list方法,获取所有商品信息 goods_count = len(goods_list) # 获取商品的数量 page_div = divmod(goods_count,conf.max_per_page) max_page = page_div[0] if page_div[1] == 0 else page_div[0]+1 # 计算需要多少页 flag = True page = 1 # 初始化页码 while flag: # 购物主循环,当用户输入r的时候退出购物 select_list = print_goods_list(goods_list, page) # 调用print_goods_list函数并返回当前页商品编号列表 print('当前是%s页/共%s页 %s' %(page, max_page, '退出血拼返回主菜单(r) 上一页(b) 下一页(n)')) # 打印页码机操作选项 chose = input('请输入商品编号加入购物车:') # 获取操作选项 if chose in map(lambda x:str(int(x)+1),select_list): # 判断是否是商品编号 # 输入的选项在返回的商品编号列表中 goods_name = goods_list[int(chose)-1]['name'] # 获取商品名称 # goods_id = goods_list[int(chose)-1]['id'] while True: # 确认购买循环 confirm = input('您选择的是%s,\n请确认是否将其放入购物车(y/n):' %goods_name) # 打印用户选择的商品名称要求用户进行确认是否购买 if confirm == 'y': # 确认购买 goods.add_to_shopping_cart(chose) # 调用goods对象的add_to_shopping_cart方法将商品加入购物车 input('%s已放入购物车,\n按任意键继续购物' %goods_name) break elif confirm == 'n': # 购买退出确认购买循环 input('%s已取消放入购物车,\n按任意键继续购物' %goods_name) break else: print('输入错误,请重新输入') elif chose == 'n': # 选择n下一页,页码加1 if page < max_page: page = page + 1 else: input("已经是最后一页了,按任意键继续") elif chose == 'b': # 选择b上一页,页码减1 if page == 1: input("已经是第一页了,按任意键继续") else: page = page - 1 elif chose == 'r': # 选择r,退出购物主循环返回主菜单 flag = False else: input("输入错误,按任意键继续")
def shopping_cart(): ''' 购物车函数 :return: 无 ''' while True: total = show_shopping_cart() # 调用打印购物车函数,并返回购物车总金额 #print(total) chose = input("请选择您的操作:").strip() # 获取用户输入操作选项 if chose == 'e': # 判断用户输入 # 选择e,清空购物车 if total != 0: # 判断购物车是否为空 # 购物车不为空 confirm = input('请确认是否清空购物车(y):').strip() #获取用户确认 if confirm == 'y': # 判断用户确认 # 确认清空 goods.del_all_cart() # 调用goods对象的del_all_cart方法清空购物车 input('购物车已经清空,按任意键继续') else: input('清空购物车已经取消,按任意键继续') else: input('购物车是空的,快去血拼吧,按任意键继续') elif chose == 'p': # 选择p,支付 if total != 0: # 判断购物车是否为空 # 不为空 if total <= int(current_user_info['balance']): # 判断余额是否大于购物总金额 # 余额大于购车总金额可以支付 customer.pay(total) # 调用customer对象的的pay方法完成支付 goods.del_all_cart() # 调用goods的del_all_cart方法清空购物车 input('完成支付,谢谢。按任意键返回主菜单') break else: # 不可以支付 input('您当前余额为%s,购物车总计为%s无法支付,\n请删除部分商品,按任意键继续' %(current_user_info['balance'], total)) else: input('购物车是空的,快去血拼吧,按任意键继续') elif chose == 'r': # 选择r退出购物车循环,返回上一级菜单 break elif chose == 'd': # 选择d,删除一个购物车商品 cart_gid_list = goods.get_shopping_gid() # 获取购物车商品编号列表 gid = input('请输入要删除的商品编号:').strip() # 获取用户输入的商品编号 if gid in cart_gid_list: # 判断用户输入的是否在商品编号列表中 # 在商品列表中 goods_list = goods.get_all_list() # 获取所有商品列表 goods_name = goods_list[int(gid)-1]['name'] # 获取商品编号对应的商品名称 while True: # 确认删除循环 confirm = input('您选择的是%s,\n请确认是删除1个%s(y/n):' %(goods_name, goods_name)) # 获取用户输入的确认信息 if confirm == 'y': # 判断用户的输入 # 用户选择y,确认删除 goods.del_goods_from_cart(gid) # 调用goods对象的del_goods_from_cart方法从购物车中删除 input('成功删除1个%s,\n按任意键继续' %goods_name) break elif confirm == 'n': # 用户输入n取消删除 input('已取消删除1个%s,\n按任意键继续' %goods_name) break else: print('输入错误,请重新输入') pass else: input("输入错误,按任意键继续") else: input("输入错误,按任意键继续")
def shopping_cart(): ''' 购物车函数 :return: 无 ''' while True: total = show_shopping_cart() # 调用打印购物车函数,并返回购物车总金额 #print(total) chose = input("请选择您的操作:").strip() # 获取用户输入操作选项 if chose == 'e': # 判断用户输入 # 选择e,清空购物车 if total != 0: # 判断购物车是否为空 # 购物车不为空 confirm = input('请确认是否清空购物车(y):').strip() #获取用户确认 if confirm == 'y': # 判断用户确认 # 确认清空 goods.del_all_cart() # 调用goods对象的del_all_cart方法清空购物车 input('购物车已经清空,按任意键继续') else: input('清空购物车已经取消,按任意键继续') else: input('购物车是空的,快去血拼吧,按任意键继续') elif chose == 'p': # 选择p,支付 if total != 0: # 判断购物车是否为空 # 不为空 if total <= int(current_user_info['balance']): # 判断余额是否大于购物总金额 # 余额大于购车总金额可以支付 customer.pay(total) # 调用customer对象的的pay方法完成支付 goods.del_all_cart() # 调用goods的del_all_cart方法清空购物车 input('完成支付,谢谢。按任意键返回主菜单') break else: # 不可以支付 input('您当前余额为%s,购物车总计为%s无法支付,\n请删除部分商品,按任意键继续' % (current_user_info['balance'], total)) else: input('购物车是空的,快去血拼吧,按任意键继续') elif chose == 'r': # 选择r退出购物车循环,返回上一级菜单 break elif chose == 'd': # 选择d,删除一个购物车商品 cart_gid_list = goods.get_shopping_gid() # 获取购物车商品编号列表 gid = input('请输入要删除的商品编号:').strip() # 获取用户输入的商品编号 if gid in cart_gid_list: # 判断用户输入的是否在商品编号列表中 # 在商品列表中 goods_list = goods.get_all_list() # 获取所有商品列表 goods_name = goods_list[int(gid) - 1]['name'] # 获取商品编号对应的商品名称 while True: # 确认删除循环 confirm = input('您选择的是%s,\n请确认是删除1个%s(y/n):' % (goods_name, goods_name)) # 获取用户输入的确认信息 if confirm == 'y': # 判断用户的输入 # 用户选择y,确认删除 goods.del_goods_from_cart( gid) # 调用goods对象的del_goods_from_cart方法从购物车中删除 input('成功删除1个%s,\n按任意键继续' % goods_name) break elif confirm == 'n': # 用户输入n取消删除 input('已取消删除1个%s,\n按任意键继续' % goods_name) break else: print('输入错误,请重新输入') pass else: input("输入错误,按任意键继续") else: input("输入错误,按任意键继续")