python中用户尝试输入三次_python输入错误密码用户锁定

给大家带来了用python实现用户多次密码输入错误后,用户锁定的实现方式,以及具体的流程,让大家更好的理解运行的过程。

1.新建一个文件,用以存放白名单用户(正确注册的用户 格式:username:password),再建一个文件,用以存放黑名单用户(输入三次用户名均错误的用户)。

2.读取白名单文件,将内容赋值给一个变量,并关闭。

3.将变量以“ :”分割,分割出得第一位(索引为0)赋值给username,第二位(索引为1)赋值给password。

4.读取黑名单文件,将内容赋值给一个变量,并关闭。

5.定义一个变量(t)用于存放用户输入次数,

6.进行循环,当循环次数小于三次时,继续循环,当次数大于三次时,将提示输入次数大于三次,账号被锁定,

再循环中,输入用户名,循环判断用户名是否在黑名单中,如果在,则提示“该账号已经被锁定”,如果不再黑名单中,再白名单中继续判断,如果用户名再名单中,则继续判断密码是否正确。

!/usr/bin/env python

-- coding:utf-8 --

@lynn

读取login.user文件,将内容赋值给变量login_f1,并关闭

f1 = open('login.user','r')

login_f1 = f1.read()

f1.close()

将变量login_f1的值,分隔符为‘:‘

提取第0位元素,赋值给另一个变量ruser

ruser = login_f1.strip().split(":")[0]

提取第1位元素,赋值给另一个变量rpwd

rpwd = login_f1.split(":")[1]

读取黑名单文件lock.user,将内容赋值给变量lock_f2,并关闭

f2 = open('lock.user','r')

lock_f2 = f2.readlines()

f2.close()

定义一个变量,用于计数

t = 0

当t小于3时,无限循环。

while t < 3:

name = input("请输入帐号:")

for a in lock_f2:

if name == a:

print("抱歉!此帐号已被锁定。")

exit()

for b in login_f1:

if name == ruser:

t = 0

while t < 3:

pwd = input("请输入密码:")

if pwd == rpwd:

print("Welcome!%s" %name)

exit()

else:

print("Sorry!wrong password.")

t += 1

else:

print("抱歉,错误次数达到3次,该账户被锁定!")

f = open('lock.user', 'w')

f.write('%s' % name)

f.close()

exit()

相关实例二(python 3.0 ):

-- coding:utf-8 --'

需求模拟用户登录,超过三次错误锁定不允许登陆

count = 0

realname passwd

Real_Username = "test"

Real_Password = "test"

读取黑名单的内容

f = open('black_user','r')

lock_file = f.read()

f.close()

Username = input('请输入用户名:')

判断输入用户是否在黑名单内,如果在则不允许输入密码

for i in range(1):

if lock_file == Username:

print('对不起,您的用户已锁定,暂时不允许使用!')

exit()

else:

continue

尝试输入密码并对输入次数进行计数

for i in range(3):

Password = input("请输入密码:")

if Username == Real_Username and Password == Real_Password:

print("登录成功")

break

else:

print("登录失败")

count += 1

如果输入三次错误密码,则提示用户名锁定,并将用户名拉黑

if count == 3:

print("对不起,您输入的密码错误次数已经达到3次,您的用户名将被锁定")

f = open("black_user","w")

f.write("%s"%Username)

f.close()

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python实现用户登录,错误三次锁定的方法可以通过以下步骤实现: 1. 首先,我们可以使用一个字典来存储已注册的用户信息,将用户名作为键,密码作为值,例如:user_info = {'user1': 'password1', 'user2': 'password2'} 2. 然后,我们可以使用一个变量来记录用户输入密码错误数,初始值为0。 3. 接下来,使用一个循环来实现用户登录的功能,循环条件为错误数小于3。 4. 在循环内部,首先让用户输入用户名和密码。 5. 接着,通过判断用户输入用户名是否在user_info字典的键,以及对应的密码是否与用户输入密码匹配来判断用户是否登录成功。 6. 如果登录成功,则跳出循环,并输出登录成功的提示信息。 7. 如果登录失败,则错误数加1,并输出密码错误提示信息。 8. 当错误数达到3时,输出锁定账户提示信息,并跳出循环。 以下是一个简单的例子来实现上述功能: ``` user_info = {'user1': 'password1', 'user2': 'password2'} error_count = 0 while error_count < 3: username = input("请输用户名:") password = input("请输密码:") if username in user_info.keys() and user_info[username] == password: print("登录成功!") break else: error_count += 1 print("密码错误重试!") if error_count == 3: print("输入错误数过多,账户锁定!") ``` 这样,当用户输入错误密码数达到3时,程序会输出"输入错误数过多,账户锁定!"的提示信息,避免了用户尝试无限的机会。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值