一个可以添加商品、查询商品的程序,登录成功的话,再去操作,添加、查询商品,添加商品也是写在文件里面

#写一个可以添加商品、查询商品的这么程序
#1、先登录,登录的用户名和密码都是写在文件里面的
#1、读文件、字符串分割
#2、登录成功的话,再去操作,添加、查询商品,添加商品也是写在文件里面
#1、读写文件,
# 字典添加元素,取元素,
# str()强制类型转换,
# eval()#用它把字符串转成字典
'''
{
'mac':{
'id':1,
'price':2222.22
},
'iphone':{
'id':2,
'price':22222
}
}

{
'mac':{
'id':1,
'price':2222.22
},
'iphone':{
'id':2,
'price':22222
},
'shubao':{
}
}

'''
#int()
#float()
#str()
#list()
#tulpe()
#dict()


#下面这一段是登录的逻辑

#字典取值是最方便的
all_users = {}#用来存放所有的用户名和密码
login_tag = False #标示是否登录
with open('users') as fr:
for line in fr:
up = line.strip().split(',') #分隔账号密码
# print('分隔完之后的账号密码',up)
s_username = up[0]#账号
s_pwd = up[1]#密码
all_users[s_username]=s_pwd#把账号作为key,密码作为value放到用户的字典里
# print(all_users)
print('欢迎登录白羊座商品管理系统'.center(50,'*'))
username = input('输入账号:').strip()
pwd = input('输入密码:').strip()
if username in all_users:
if all_users[username]==pwd:#登录成功
login_tag = True
else:
print('密码不对!')
else:
print('用户不存在')

#下面这一段是操作商品的
if login_tag:
#判断是否登录
while True:
choice = input('1添加商品,2查询商品,3退出,请输入你的选择:').strip()
fp = open('products.txt', 'a+')
fp.seek(0)
products_str = fp.read()
# 这个是从文件里面读出来商品信息,是字符串
if len(products_str):
# 这里是判断文件内容是否为空的,如果不为空的话,长度就大于0,就是真
# 一旦走这就说明是有产品
products_dic = eval(products_str)
# 是把读出来商品信息转成字典
else:
# 走这里就说明是没有商品信息的
products_dic = {} # 存放所有的商品
if choice == '1':#添加商品
p_name = input('请输入商品名称:').strip()
p_id = input('请输入商品id:').strip()
p_price = input('请输入商品价格:').strip()
if p_name!='' and p_id !='' and p_price!='':
#if和elif都是条件为真的时候才走的
if p_name in products_dic:
print('商品已存在!')
elif not p_price.isdigit():
#not True是flase,指定走不到这里
#not Flase,就是true,就走这了
print('商品价格不合法!')
else:
products_dic[p_name]={'id':p_id,'price':p_price}
#products是存最新所有商品,给这个字典添加商品
fp.seek(0)
#因为上面读完之后文件指针到最后了,所以需要移动到最前面
fp.truncate()
#清空文件
fp.write(str(products_dic))
print('商品添加成功')
else:
print('商品名称、商品id、商品价格都不能为空')

elif choice == '2':
p_name = input('请输入你要查询的商品名称:').strip()
if p_name in products_dic:
p_id = products_dic[p_name]['id']
p_price = products_dic[p_name]['price']
print('商品名称是:【%s】,商品id是【%s】,商品价格是【%s】'%(p_name,p_id,p_price))
else:
print('你输入的商品不存在!')
elif choice=='3':
fp.close()
exit('程序退出!')

else:
print('请输入1-3的选项!')

else:
print('未登录,没有权限做操作')

posted on 2017-06-04 11:55  yuer011  阅读(625)  评论(0编辑  收藏  举报

导航