手机销售系统

# 用字典写手机销售系统
'''
手机销售系统
   手机品牌   手机价格   库存数量
    vivoX9              2798         25
    iphone7(32G)     4888         31
    iph
    one7(128G)    5668         22
    iphone7P(128G)       6616         29
    iphone6(16G)     3858         14
    ....
功能要求:
   四个选项:
      1.查看所有手机品牌
         1.vivoX9
         2.iphone7(32G)
         ......
              分支选项:
            1.选择产品序号查看详情(根据序号输出产品名称,价格,库存)
               1.购买(库存数量-1,库存为0时,删除该产品)
               2.返回
            2.返回
      2.更改产品库存信息
         1.添加新产品(添加新产品,包括产品名称、价格、库存)
         2.修改原有产品
           输出所有产品信息(将产品的名称  价格  库存)
           1.根据选择序号进行修改
           2.返回
      3.移除产品库存信息
         1.查看所有产品,根据序号移除
         2.移除所有产品
         3.返回
      4.退出程序
'''

def query_phone(type):
    '''
    :param type: 查询时,输出的类型 1.输出详细信息(名称,价格,库存) 2.输出产品名称
    '''
    for x in range(0, len(phone_list)):
        # 根据索引取出手机信息字典
        phone = phone_list[x]
        name = phone['name']
        # 判断输出的类型
        if type == 1:
            price = phone['price']
            count = phone['count']
            # 输出详细信息
            print('序号:%s  产品名称:%s  产品价格:%s  产品库存:%s'%(x, name, price, count))
        else:
            print('序号:%s  产品名称:%s'%(x, name))
# 购买手机的函数
def buy_phone():
    if len(phone_list) <= 0:
        print('当前无商品信息!')
        return
    print('1.选择序号查看手机详情:')
    print('2.返回')
    num = int(input('请选择您的操作:'))
    while num not in range(1, 3):
        num = int(input('选项有误,请重选:'))
    if num == 1:
        # 输入选择产品序号
        index = int(input('请输入查看的产品序号:'))
        while index not in range(0, len(phone_list)):
            index = int(input('序号有误,请重选:'))
        # 根据index的值,取出小字典
        phone = phone_list[index]
        # 输出产品序号、名称、价格、库存
        print('序号:%s  产品名称:%s  产品价格:%s  产品库存:%s'%(index,phone['name'],phone['price'],phone['count']))
        # 是否购买
        print('1.购买')
        print('2.返回')
        num = int(input('请选择:'))
        while num not in range(1, 3):
            num = int(input('选择错误,请重选:'))
        if num == 1:
            count = phone['count']
            count = count - 1
            if count == 0:
                # 手机卖完了
                print('%s 已售罄,请及时补货!'%phone['name'])
                phone_list.remove(phone)

            else:
                # 更改库存量
                phone['count'] = count
                return
    else:
        return

# 更改产品信息
def update_phone():
    print('1.添加新产品')
    print('2.修改原有产品')
    print('3.返回')
    num = int(input('请选择您的操作:'))
    while num not in range(1, 4):
        num = int(input('选项错误,请重选'))
    if num == 1:
        # 包括产品名称、价格、库存
        name = input('请输入添加的产品名称:')
        price = input('请输入添加的产品价格:')
        # 转换为数字
        count = int(input('请输入添加的产品库存量:'))
        while count <= 0:
            count = int(input('库存量不能小于1,请重新输入:'))
        # 将产品信息组装为一个小字典
        phone = {'name':name, 'price':price, 'count':count}
        # 将小字典添加到大列表中
        phone_list.append(phone)
    elif num == 2:
        if len(phone_list) <= 0:
            print('当前无商品信息!')
            return
            # 查询手机详细信息
        query_phone(1)
        index = int(input('请输入要修改的产品序号:'))
        while index not in range(0, len(phone_list)):
            index = int(input('序号有误,请重选:'))
        # 根据index取出手机信息字典
        phone = phone_list[index]
        # 取出原来的名称
        old_name = phone['name']
        phone['name'] = input('请输入修改后的名称(%s):'%old_name)
        phone['price'] = input('请输入修改后的价格(%s):'%phone['price'])
        count = int(input('请输入修改后的库存量(%s):'%phone['count']))
        # 库存量不能为0
        while count <= 0:
            count = int(input('库存不能小于1,请重新输入:'))
        phone['count'] = count
        print('修改成功!')
    else:
        # 结束函数执行
        return
# 声明大列表,存储所有手机信息
# [{'name':'iPhone8','price':'1999','count':'1'},{'name':'iPhone8','price':'1999','count':'1'}]
phone_list = []


while True:
    # Ctrl+d 可以快速复制粘贴一行
    print('1.查看所有手机品牌')
    print('2.更改产品信息')
    print('3.移除产品信息')
    print('4.退出程序')

    # 选择操作:
    num = int(input('选择您的操作:'))
    while num not in range(1, 5):
        num = int(input('选项错误,请重选:'))
    if num == 1:
        query_phone(2)
        buy_phone()
    elif num == 2:
        update_phone()
    elif num == 3:
        print('移除产品信息')
    else:
        # 结束循环
        break

猜你喜欢

转载自blog.csdn.net/h1131057908/article/details/81037984