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


    #写一个可以添加商品、查询商品的这么程序
    #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('未登录,没有权限做操作')
  • 相关阅读:
    换一个角度看问题:火柴棒等式
    队列之blah集合
    专题——极值定理及应用
    专题——计数原理
    Antiprime数-数论
    Openjudge-NOI题库-旅行-数论
    砝码设计-数论
    有理数分解-数论
    洛谷-神奇的幻方-NOIP2015提高组复赛
    NOIP2014-提高组初赛C语言解析(选择填空题)
  • 原文地址:https://www.cnblogs.com/yuer011/p/6940010.html
Copyright © 2020-2023  润新知