Python阶段复习 - part 4 - 用户登录程序
简易版:
#!/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\n' % 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
所有巧合的是要么是上天注定要么是一个人偷偷的在努力。