Python判断用户密码输入次数的代码如下:
# 判断用户是否锁定 now_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') nowTime = datetime.datetime.strptime(now_time, '%Y-%m-%d %H:%M:%S') # 距离上次操作时间大于24小时,重置 if (nowTime - user.update_time).total_seconds() > ONE_DAY_TIME: user.pass_errnum = 0 user.login_sta = False user.login_suo = datetime.datetime.now() # 判断账户是否锁定 if user.login_sta == True: time = user.login_suo + datetime.timedelta(days=1) # 账户锁定时间 if (nowTime - user.login_suo).total_seconds() < ONE_DAY_TIME: return jsonify(errno=RET.REQERR, errmsg='该账户已经锁定,请%s后再执行操作!' % time) else: user.pass_errnum = 0 user.login_sta = False user.login_suo = datetime.datetime.now() # 判断用户名密码输入次数 if user.pass_errnum >= 5: user.login_suo = datetime.datetime.now() user.login_sta = True return jsonify(errno=RET.REQERR, errmsg='密码输入超过5次,请24小时后再执行操作!') # 判断密码是否正确 if user.password_hash != passwd: user.pass_errnum += 1 num = 5 - user.pass_errnum if num == 0: return jsonify(errno=RET.REQERR, errmsg='您今日的登录次数已用完!') return jsonify(errno=RET.PWDERR, errmsg='用户名或密码错误,还有%d次机会!' % num)
附:数据库字段
login_sta = db.Column(db.Boolean, default=False) # 登录是否锁定
login_suo = db.Column(db.DateTime, default=datetime.now) # 登录锁定时间
pass_errnum = db.Column(db.Integer, default=0) # 用户密码输入次数
推荐学习《Python教程》。