要求:
1.输入用户名和密码2.验证成功提示登录成功
3.用户输错3次密码后被锁定,并退出程序
先用一个字典存储用户信息:
user1 = {
'人生苦短': '12345',
'我用python': '67890'
}
count = 0
while True:
user = input('输入用户名')
mima = input('输入密码')
if user not in user1.keys(): # 当输入的用户名不存在时
print('用户名不存在')
elif user in user1 and mima == user1[user]: # 输入正确时
print('登录成功')
break # 退出程序
else:
print('密码错误')
count += 1
if count == 3: # 当输入次数错误多次时
print('错误次数过多,退出程序')
break # 退出程序
以上就已经满足题目要求了,还可以改进一下,模拟用户登录场景,当没有账号时添加注册功能:
先分装一个注册的函数:
def zhuce():
p = input('输入用户名:')
s = input('输入密码:')
if p not in user1.keys():
user1[p] = s
print('注册成功!')
else:
print('用户名已存在,请重新注册')
接下来是完整代码:
user1 = {
'人生苦短': '12345',
'我用python': '67890'
}
def zhuce():
p = input('输入用户名:')
s = input('输入密码:')
if p not in user1.keys():
user1[p] = s
print('注册成功!')
else:
print('用户名已存在,请重新注册')
count = 0 # 跳出二层循环的变量
flag = 0 # 跳出循环的变量
while True:
a = int(input('选择功能:\n1: 已有账号直接登录\n2: 注册账号\n任意键退出程序'))
if a == 1:
while True:
user = input('输入用户名')
mima = input('输入密码')
if user not in user1.keys():
print('用户名不存在')
elif user in user1 and mima == user1[user]:
print('登录成功')
flag = 1
break
else:
print('密码错误')
count += 1
if count == 3:
print('错误次数过多,退出程序')
flag = 1
break
elif a == 2:
zhuce()
else:
print('已退出')
break
if flag:
break