'''
手机销售系统
手机品牌 手机价格 库存数量
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.退出程序
'''
手机销售系统
手机品牌 手机价格 库存数量
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():
print('1.查看所有手机品牌')
print('2.选择产品序号查看详情')
num=int(input('请输入您的选择:'))
while num not in range(1,3):
num = int(input('该选项不存在,请您重选选择:'))
if num==1:
if len(product_list) == 0:
print('没有产品信息!')
# 强制结束函数的执行 return 下面的代码 都不会再执行了
return
for x in range(0,len(product_list)):
kind=product_list[x]
#print('手机品牌:%s'% kind[0])
print('序号:%s手机品牌:%s手机价格:%s手机库存:%s' % (x, kind[0], kind[1], kind[2]))
else:
if len(product_list) == 0:
print('没有产品信息,无法进行查看!')
# 强制结束函数的执行 return 下面的代码 都不会再执行了
return
index=get_index('查询')
kind=product_list[index]
print('序号:%s手机品牌:%s手机价格:%s手机库存:%s' % (index, kind[0], kind[1], kind[2]))
print('~~~~~~~~~~~~~~1.购买~~~~~~~~~~~~')
print('~~~~~~~~~~~~~~2.返回~~~~~~~~~~~~')
num = int(input('请输入您的选择:'))
while num not in range(1, 3):
num = int(input('没有改选项,请重选:'))
if num==1:
print('购买成功')
total_number=int(kind[2])
total_number-=1
kind[2]=total_number
if total_number==0:
del product_list[index]
print('该产品已无库存!')
else:
print('返回')
#封装判断选择学员序号是否在范围的函数
#带返回值的函数 函数执行完之后,会返回一个结果,可以声明变量接收这个结果
def get_index(type):
'''
函数的功能描述:获取用户选择的学员序号
:param type: 选择序号类型
:return: 选择的序号
'''
index = input('请选择要%s的产品序号:'%type)
# 转换为整数类型
index = int(index)
while index not in range(0, len(product_list)):
index = input('选择的产品序号不存在,请重选:')
index = int(index)
#返回选择的序号
return index
def update():
print('1.添加新产品')
print('2.修改原有产品')
num = int(input('请输入您的选择:'))
while num not in range(1, 3):
num = int(input('改选项不存在,请重选:'))
if num==1:
# 添加产品信息
name = input('请输入手机品牌:')
price = input('请输入手机价格:')
number = input('请输入库存数量:')
# 把name、age、phone放在小列表中
kind = [name, price, number]
product_list.append(kind)
print('****添加产品成功****')
else:
#判断是否有产品信息,如果没有,直接结束函数的执行
if len(product_list) == 0:
print('没有产品信息,无法进行修改操作!')
# 强制结束函数的执行 return 下面的代码 都不会再执行了
return
for x in range(0,len(product_list)):
kind=product_list[x]
print('序号:%s手机品牌:%s手机价格:%s手机库存:%s' % (x, kind[0], kind[1], kind[2]))
#选择要修改的产品序号
index=get_index('修改')
kind=product_list[index]
new_name=input('请输入修改后的手机品牌(%s):'%kind[0])
new_price=input('请输入修改后的手机价格(%s):'%kind[1])
new_number=input('请输入修改后的库存数量(%s):'%kind[2])
#修改小列表中的数据
kind[0]=new_name
kind[1]=new_price
kind[2]=new_number
print('------------------修改数据完成------------')
#移除产品函数
def delete():
print('1.根据序号移除')
print('2.移除所有产品')
num = int(input('请输入您的选择:'))
while num not in range(1, 3):
num = int(input('没有改选项,请重选:'))
if num==1:
for x in range(0, len(product_list)):
kind = product_list[x]
print('序号:%s手机品牌:%s手机价格:%s手机库存:%s' % (x, kind[0], kind[1], kind[2]))
index=get_index('删除')
rs = input('确定要删除序号为(%s)的手机信息?y(是的)/n(不是):' % index)
if rs == 'y':
# 根据索引删除列表中的数据
del product_list[index]
print('************删除数据成功*******')
else:
rs = input('确定要删除所有信息?y(是的)/n(不是):')
if rs == 'y':
# 根据索引删除列表中的数据
product_list.clear()
else:
print('取消删除数据操作!!!')
#保存数据
def save_data():
file_handle=open('product.txt',mode='w')
for kind in product_list:
s=' '.join(kind)
file_handle.write(s)
file_handle.write('\n')
file_handle.close()
#读取数据
import os
def read_data():
#判断文件是否存在
rs=os.path.exists('product.txt')
if rs==True:
file_handle=open('product.txt',mode='r')
#读取所有行
contents=file_handle.readlines()
for msg in contents:
#去除\n
msg=msg.strip('\n')
kind=msg.split(' ')
product_list.append(kind)
file_handle.close()
product_list=[]
read_data()
while True:
print('-------------------手机销售系统----------------')
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()
save_data()
elif num==2:
update()
save_data()
elif num==3:
delete()
save_data()
else:
print('-----------程序运行结束-------------')
break