代码如下:
dic={
'user1':{'password':'123','count':0},
'user2':{'password':'123','count':0},
'user3':{'password':'123','count':0},
}
while True:
name=input('username>>:')
if not name in dic:
print('用户不存在')
continue
if dic[name]['count']>2:
print('尝试次数过多,锁定')
continue
password=input('password>>:')
if password == dic[name]['password']:
print('登录成功')
break
else:
print('用户或密码错误')
dic[name]['count']+=1
解析如下:
dic={
'user1':{'password':'123','count':0},
'user2':{'password':'123','count':0},
'user3':{'password':'123','count':0},
}#这里用字典存了一个用户列表,用户对应着password,password对应着123,count用来记录登录次数
while True:#这里用while来反复循环,登录失败继续弹出登录会话。
name=input('username>>:')#用input来实现登录回话。
if not name in dic:#用户输入一个账号,如果不包含在字典中那么打印不存在并退出本次循环。
print('用户不存在')
continue
if dic[name]['count']>2:#如果输入正确那么此时的name代表user1或者2,3,count默认是零所以一开始不会判断成功,就不会弹出登录次数过多。
print('尝试次数过多,锁定')
continue
password=input('password>>:')#用户账号输入成功后会到这里,这里让用户继续输入密码。
if password == dic[name]['password']:#如果密码匹配密码那么打印登录成功并退出循环。
print('登录成功')
break
else:
print('用户或密码错误')#如果错误那么提示错误,并将count加1,然后继续循环,当加到3以后匹配了上面的if就会锁定。
dic[name]['count']+=1