分享

Python实现注册和登录

 gexian 2019-08-01

一、注册账号需要实现的功能

1、输入:用户名,密码,密码确认

2、限制1:输入的账号和密码不能为空

3、限制2:两次输入密码必须一致

4、限制3:用户名不能重复

5、限制4:错误次数为4次

6、用字典保存,格式如下;其中,只需要输入username和passwd,新注册用户role默认都为1

{  '张三': {'passwd': '123', 'role': '1'}, '李四': {'passwd': 'abc', 'role': '2'}  }

二、实现注册代码

复制代码

f = open("users.txt", 'r+')
users = eval(f.read()) #f.read()读取的是字符串,用eval()将字符串转化为字典for i in range(4):
    name = input('请输入姓名: ')
    passwd = input('请输入密码: ')
    c_passwd = input('请再次确认密码: ')    if len(name.strip()) != 0 and name not in users and len(passwd.strip()) != 0 and passwd == c_passwd:
        users[name]= {'passwd':passwd, 'role':1} #往字典中插入新数据        f.seek(0)
        f.truncate()  #清空文件内容
        f.writelines(str(users)) #将字典写入文件
        print('恭喜,注册成功')
        f.close()        break
    elif len(name.strip()) == 0:        print('用户名不能为空,请重新输入。还可输入%d次' %(3-i))    elif name in users:        print('用户名重复,请重新输入。还可输入%d次' %(3-i))    elif len(passwd.strip()) == 0:        print('密码不能为空,请重新输入。还可输入%d次' %(3-i))    elif c_passwd != passwd:        print('两次输入的密码不一致,请重新输入。还可输入%d次' %(3-i))

复制代码

三、实现登录代码

复制代码

f = open("users.txt", 'r', encoding='utf8')
users = eval(f.read())for count in range(3):
    name = input('请输入用户名: ')
    password = input('请输入密码: ')    if name in users and password == users[name]['passwd']:        print('登录成功!')        break
    else:        print('用户名或密码错误,还有%d次机会'%(2-count))
f.close()

复制代码

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约