zoukankan      html  css  js  c++  java
  • Python阶段复习

    简易版:

    #!/usr/bin/env python
    # _*_ coding:UTF-8 _*_
    # __auth__:Dahlhin
    
    import sys
    
    
    userinfo = r'userinfo.txt'
    userlock = r'userlock.txt'
    
    
    def user_exist_check(user):
        '''检查用户是否存在'''
        with open(userinfo) as fd:
            for info in fd:
                if user == info.strip().split()[0]:
                    return True
            return False
    
    def user_lock_check(user):
        '''检查用户是都被锁定'''
        with open(userlock) as fd:
            for lock in fd:
                if user == lock.strip():
                    return True
            return False
    
    def passwd_check(passwd):
        '''检查密码合法性'''
        with open(userinfo) as fd:
            for info in fd:
                if passwd == info.strip().split()[1]:
                    return True
                return False
    
    def lock_user(user):
        '''用户锁定'''
        with open(userlock,'a') as fd:
            fd.write('%s
    ' % user)
    
    
    def user_login():
        '''登陆主程序'''
        count = 0
        while count < 3:
            user = input('UserName:')
            passwd = input('PassWord:')
            if user_exist_check(user):
                if not user_lock_check(user):
                    if passwd_check(passwd):
                        return True
                    else:
                        print('密码错误')
                else:
                    print('账号被锁定')
            else:
                print('账号不存在')
            count += 1
    
        else:
            if user_exist_check(user):
                if not user_lock_check(user):
                    lock_user(user)
            return  False
    
    
    if __name__ == '__main__':
        result = user_login()
        if result:
            print('Welcome login')
        else:
            print('bye bye')
    

      

    规范化范式版本

    代码存放在github上:https://github.com/dachenzi/UserLoginScript

    基础需求
    • 让用户输入用户名密码
    • 认证成功后显示欢迎信息
    • 输错三次后退出程序
    升级需求
    • 可以支持多个用户登录 (提示,通过列表存多个账户信息)
    • 用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里)
    目录说明
    • bin:程序可执行文件目录
    • conf:配置文件目录
    • db:数据存放目录
    • libs: 依赖库文件目录
    • logs: 日志存储目录
    程序说明
    • 执行 bin/main.py 运行程序
    • 用户存放在 db/account_db中,使用configparser读取,密码为MD5 加密字符串,初始密码都为123456
  • 相关阅读:
    Linux下zip命令使用
    docker镜像发布到阿里云镜像仓库
    基于官方镜像定制php-fpm容器
    docker-compose部署开发环境
    docker安装discuz!Q
    从零开始实现简单 RPC 框架 4:注册中心
    从零开始实现简单 RPC 框架 3:配置总线 URL
    从零开始实现简单 RPC 框架 2:扩展利器 SPI
    从零开始实现简单 RPC 框架 1:RPC 框架的结构和设计
    文本分类(六):pytorch实现DPCNN
  • 原文地址:https://www.cnblogs.com/dachenzi/p/9212369.html
Copyright © 2011-2022 走看看