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
  • 相关阅读:
    python项目---数据可视化(02)
    python项目---数据可视化(01)
    sort 快排解决百万级的排序
    插入排序专题 直接插入 折半 希尔shell
    人见人爱A^B
    内部收益率
    台球碰撞
    杭电 1061 Rightmost Digit计算N^N次方的最后一位
    数字整除
    循环 未理解
  • 原文地址:https://www.cnblogs.com/dachenzi/p/9212369.html
Copyright © 2011-2022 走看看