建立一个字典,以建值对的形式存储用户名及密码,密码输错三次,需要锁定登录模块五秒。用户名输错,则提示该用户不存在
时间: 2023-09-27 16:10:41 浏览: 45
好的,您的问题是如何建立一个存储用户名及密码的字典,并且实现输错三次密码需要锁定登录模块五秒的功能,输错用户名提示用户不存在。下面是Python实现的代码:
```python
import time
# 建立用户名和密码的字典
user_dict = {'user1': 'password1', 'user2': 'password2', 'user3': 'password3'}
# 定义一个字典来记录输错密码的次数
login_attempts = {}
# 限制输错密码的次数
max_attempts = 3
# 限制登录锁定时间
lock_time = 5
while True:
username = input("请输入用户名:")
password = input("请输入密码:")
# 判断用户名是否存在
if username in user_dict:
# 判断密码是否正确
if user_dict[username] == password:
print("登录成功!")
break
else:
# 统计输错密码的次数
if username in login_attempts:
login_attempts[username] += 1
else:
login_attempts[username] = 1
# 判断输错密码的次数是否超过限制
if login_attempts[username] >= max_attempts:
print(f"你已经输错密码{max_attempts}次,登录已被锁定{lock_time}秒!")
time.sleep(lock_time)
login_attempts[username] = 0
else:
print(f"密码错误!你还可以尝试{max_attempts - login_attempts[username]}次。")
else:
print("该用户不存在!")
```
代码中,我们首先建立了一个存储用户名和密码的字典`user_dict`,然后定义了一个字典`login_attempts`来记录输错密码的次数。接着,我们设置了`max_attempts`变量来限制输错密码的次数,`lock_time`变量来限制登录锁定时间。
在进入登录循环后,我们使用`input`函数获取用户输入的用户名和密码,并根据`user_dict`字典判断用户名是否存在。如果用户名存在,我们再判断密码是否正确。如果密码正确,提示登录成功并退出循环。如果密码错误,我们会先判断是否超过了输错密码的次数限制。如果超过了,则提示登录已被锁定,并让程序暂停`lock_time`秒。如果没有超过,则提示密码错误并显示还可以尝试的次数。
如果用户名不存在,则直接提示该用户不存在。