zoukankan      html  css  js  c++  java
  • 注册、登录、忘记密码实战

    #!/usr/bin/env python
    #coding:utf-8
    
    #author:cainiao
    
    
    import json
    
    '''用户注册,请输入用户名、密码'''
    def regist(username,passwd):
        s=username+'|'+passwd
        '''用序列化的方式将字符串写入文件'''
        json.dump(s,open('info.txt','w'))
        # with open('info.txt','w') as f:
        #     f.write(s)
    
    '''忘记密码'''
    def forgetpwd():
        passwd=input('请输入密码:
    ')
        '''先将密码在文件中读取出来'''
        list1=json.load(open('info.txt','r')).split('|')
        '''在用户名匹配的情况下,将密码赋值'''
        if list1[0]=='wangting':
            list1[1]=passwd
        '''再将新密码写入文件中,join()是将列表转换为字符串'''
        json.dump('|'.join(list1),open('info.txt','w'))
    
    
    '''用户登录,返回登录信息成功或失败'''
    def login(username,passwd):
    
        '''先将用户名密码转换为列表格式'''
        '''用反序列化的方式,读取文件中的内容'''
        list1=json.load(open('info.txt','r')).split('|')
        # f=open('info.txt','r')
        # list1=f.read().split('|')
        '''再判断输入的用户名、密码和注册的一致'''
        if username==list1[0] and passwd==list1[1]:
            print(u'恭喜您,登录成功')
            return True
        else:
            print(u'抱歉,你输入的账号密码错误')
            return False
    
    
    def exit():
        import sys
        sys.exit(1)
    
    
    '''获取用户名'''
    def name():
        username=input('请输入用户名:
    ')
        return username
    '''获取密码'''
    def pwd():
        passwd=input('请输入密码:
    ')
        return passwd
    
    def system():
        while True:
            t=int(input('1、注册;2、登录;3、忘记密码;4、退出系统
    '))
            if t==1:
                regist(name(),pwd())
            elif t==2:
                login(name(),pwd())
            elif t==3:
                forgetpwd()
            elif t==4:
                exit()
            else:
                break
    
    
    if __name__ == '__main__':
        system()
  • 相关阅读:
    Java 中的悲观锁和乐观锁的实现
    乐观锁和悲观锁的区别
    理解RESTful架构
    修复Linux下curl等无法使用 Let's Encrypt 证书
    呕心沥血 AR VR 好资源分享
    linux服务器出现大量TIME_WAIT的解决方法
    Ubuntu系统 无法删除 redis-server
    Python Flask jsonify a Decimal Error
    微信小程序 订阅消息 对接详细记录
    FTP时显示500 Illegal PORT command的解决
  • 原文地址:https://www.cnblogs.com/manma/p/10904945.html
Copyright © 2011-2022 走看看