#! /usr/bin/env python
#coding=utf-8
#定义登录认证函数
def login():
flag = False
#当返回False的地方比较多的时候可以定义初始值为false,这样就可以在用的用的True的时候,再赋值为True
#做返回值用,返回True的时候代表登录成功
users = []
passwds = []
trytimes = []
#读取用户资料文件
with open("account.txt",'r') as f_account:
lines = f_account.readlines()
for line in lines:
account,password,trytime = line.strip().split()
users.append(account)
passwds.append(password)
trytimes.append(trytime)
#获取用户输入的用户名和密码
username = raw_input("Please entry username:")
password = raw_input("Please entry user password:")
if username not in users:
#从用户列表中查找用户
print "The useraccount is not finded"
elif int(trytimes[users.index(username)]) >= 3:
#判断用户是否为锁定
#print type(trytimes[users.index(username)])
print "The user is locked"
elif passwds[users.index(username)] != password:
#判断密码是否正确
print "The useraccount or the password is error"
#密码错误,登录次数加1,并写入文件
trytimes[users.index(username)] = int(trytimes[users.index(username)]) + 1
with open("account.txt", 'w+') as f_account:
for i in range(len(users)):
f_account.write(users[i] + ' ' + passwds[i] + ' ' + str(trytimes[i]) + '\n')
else:
print "Welcome to Login"
flag = True
return flag
def auth():
while True:
flag = login()
if flag is True:
break
if __name__ == '__main__':
auth()