Exemplo n.º 1
0
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("输入错误,按任意键继续")
Exemplo n.º 2
0
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("输入错误,按任意键继续")
Exemplo n.º 3
0
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("输入错误,按任意键继续")
Exemplo n.º 4
0
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("输入错误,按任意键继续")