zoukankan      html  css  js  c++  java
  • python习题-注册用户程序

    把上周的注册程序改一下,用字典保存
    # 字典格式如下:
    # {
    # "niuhanyang":{"passwd":"123456","role":1"},
    # "jmy":{"passwd":"123456","role":2"},
    # "xiaohei":{"passwd":123456,"role":1}
    #
    # }
    #role如果是1的话,代表管理员,如果是2代表普通用户,注册的用户都是普通用户
    #需求分析:
    #1、先要从原来的数据库(咱们的user_info文件)里面,把已经存在的数据读出来
    #2、让用户输入账号、密码、密码确认
    #3、判断用户是否存在,如果不存在的话,才可以注册
    #4、判断密码和确认密码输入一致的话,注册成功
    #5、把新的用户写到这个userinfo字典中
    #6、把新的userinfo替换旧的
    #7、保存文件
    fr = open('user_info.txt','a+')
    fr.seek(0)
    user_info = eval(fr.read()) #存的是从文件里面读出来的用户信息
    user_num = len(user_info) #存的最开始的字典长度
    for i in range(3):
    username = input('plz enter your username:').strip()
    password = input('plz enter your password:').strip()
    c_password = input('plz enter your password agen:').strip()
    if len(username)==0:
    print('用户名不能为空')
    elif username not in user_info:
    if password == c_password and len(password)>0:
    user_info[username]={'passwd':password,'role':'2'}
    print('注册成功!')
    break
    else:
    print('密码不能为空!两次输入密码必须一致!')
    else:
    print('你注册的用户已经存在!')
    if user_num == len(user_info):
    pass
    else:
    fr.seek(0)
    fr.truncate()#清空文件
    fr.write(str(user_info))
    fr.flush()#缓冲区的
    fr.close()
  • 相关阅读:
    bzoj 2001 CITY 城市建设 cdq分治
    CodeChef
    CodeForces 293E Close Vertices 点分治
    CodeForces 161D Distance in Tree 树上点分治
    POJ-2104 K-th Number CDQ分治
    CodeForces 669 E Little Artem and Time Machine CDQ分治
    BZOJ 1935 园丁的烦恼
    关于dijkstra的优化 及 多源最短路
    nyoj1000_快速幂_费马小定理
    Common Knowledge_快速幂
  • 原文地址:https://www.cnblogs.com/niuniu2018/p/7696357.html
Copyright © 2011-2022 走看看