输入用户名密码
认证成功后显示欢迎信息
输错三次后锁定
帐号文件account.txt内容如下:
liuyueming 123
zhangsan 123
lisi 123
锁文件account_lock.txt默认为空
一,针对用户名和密码有三次机会,假如三次均输入错误,锁定
流程图
代码如下
#!/usr/bin/python
#_*_ coding:utf-8 _*_
import os,getpass,sys
i = 0
while i < 3:
name = raw_input('请输入用户名:')
lock_file = open('account_lock.txt','r+')
lock_list = lock_file.readlines()
for lock_line in lock_list:
if name == lock_line:
sys.exit('用户%s已经锁定' %name)
user_file = open('account.txt','r')
user_list = user_file.readlines()
for user_line in user_file:
(user,password) = user_line.strip.split()
if name == user:
j = 0
while j < 3:
passwd = getpass.getpass('请输入密码:')
if passwd = password:
print ('登录成功%s'%name)
sys.exit(0)
else:
if j != 2:
print('用户 %s 密码错误,请重新输入,还有 %d 次机会' % (name,2 - j))
j+=1
else:
lock_file.write(name + '\n')
sys.exit('用户 %s 达到最大登录次数,将被锁定并退出' % name)
else:
pass
else:
if i !=2:
print('用户 %s 不存在,请重新输入,还有 %d 次机会' % (name,2 - i))
i+=1
else:
sys.exit('用户 %s 不存在,退出' % name)
lock_file.close() #关闭LOCK文件
user_file.close()