# 查看手机信息的函数
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:
buynum=int(input("请输入购买的台数:"))
count = int(phone['count'])
count = count - buynum
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
#3.定义移除产品库存信息函数
def remove():
print('1.查看所有产品,根据序号移除')
print('2.移除所有产品')
print('3.返回')
x = input('请输入您选择的操作:')
x = int(x)
while x not in range(1, 4):
x = input('您选择的操作不在该范围内,请重新选择:')
x = int(x)
if x==1:
query_phone(2)
# 选择要删除哪个产品的信息
index = input('请输入要删除信息的产品的序号: ')
index = int(index)
# 判断输入的序号是否在范围内
while index not in range(0, len(phone_list)):
index = input('你输入的序号不在范围内,请重新输入: ')
index = int(index)
# 删除信息
del phone_list[index]
elif x==2:
phone_list.clear()
else:
return
# 声明大列表,存储所有手机信息
phone_list = [{'name':'vivox9', 'price':'1200', 'count':'30'}, {'name':'iphone6', 'price':'2000', 'count':'55'},
{'name':'iphone6s', 'price':'2200', 'count':'120'}, {'name':'iphone7', 'price':'4000', 'count':'80'},
{'name':'iphone7s', 'price':'4200', 'count':'90'}, {'name':'iphone8', 'price':'5200', 'count':'70'}]
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('移除产品信息')
remove()
else:
# 结束循环
break