''' 手机销售系统 手机品牌 手机价格 库存数量 vivoX9 2798 25 iphone7(32G) 4888 31 iphone7(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