您的位置:首页 > 编程语言 > Python开发

python作业----编写登录接口

2017-02-21 14:39 323 查看
作业要求:
输入用户名密码认证成功后显示欢饮信息输入错误三次后锁定
# -*- coding: utf-8 -*-
# created by ChaiMeng
import sysretry_limit = 3 #定义输错次数限制
retry_count = 0 #定义计数器初始值
account_file = 'account.txt' #文件变量定义
account_lock = 'account_lock.txt' #文件变量定义while retry_count < retry_limit: #定义循环条件,当计算器的值小于3时,一直循环
file_obj_lock = open(account_lock,"r") #已只读模式打开account_lock文件
account = input("请输入用户名: ") #提示用户输入用户名
for username in file_obj_lock.readlines(): #使用readlines读取account_lock里的锁定账户
if account == username.strip(): #判断如果输入账户在锁定账户内,则提示并推出
print("你的账号在锁定列表")
sys.exit(2)password = input("请输入你的密码: ") #提示用户输入密码
file_obj_account = open(account_file, "r") #已只读方式打开account文件
match_flag = False #定义匹配标志位,根据匹配标志位判断用户名与密码是否输入正确
for line in file_obj_account.readlines(): #使用readlines读取account里的账户及密码
user,pwd = line.strip().split()
#剥去行收尾的空格,然后再根据用户名及密码中间的空格进行用户名及密码的分离,并赋值给到user,pwd变量
if account == user and password == pwd : #判断用户名和密码是否相等,若匹配则输出提示信息,并把匹配标志位置True
print(account + ' 已成功匹配')
match_flag = True
break #跳出本次的for循环体
file_obj_account.close() #关闭account文件
file_obj_lock.close() #关闭account_lock文件
if match_flag == False: #如果匹配标志位为False,则说明账号信息错误
print("用户名或密码错误")
retry_count += 1 #计数器加一
else:
print('欢迎登陆') #否则账号信息正确
break #用户登录成功,打断while循环
else:
print('你的账号已被锁定!')
f = open('account_lock.txt','a')
f.write('\n' + account ) #对输错三次的用户账号进行锁定
f.close()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python account created