python(1)

while循环:

猜年龄:要求---3次之类猜正确,即自动退出系统;三次没有猜正确,可以继续猜,如果不想猜了,输入“n”,结束

age_oldboy=56
count =0
while count<3:
guessage=int(input("guess age:"))
if guessage==age_oldboy:
print("you got it")
break
elif guessage>age_oldboy:
print("think smaller")
else:
print("think bigger")
count += 1
if count==3:
countiue_confirm = input("do you want to keep tring?")
if countiue_confirm !="n":
count=0

需求说明:

  用户登录,对密码进行三次校验,三次均失败后,将锁定用户名,不允许登录。

解决方案:

  1、明确可成功登录的用户名和密码;

  2、用户黑名单,三次登录失败后,将用户名写入黑名单;

  3、检测黑名单的内容,如果与当前登录名一致,则不允许继续输入密码,直接提示用户已锁定。

流程图:

代码:

#用户登录,对密码进行三次校验,三次均失败后,将锁定用户名,不允许登录。
name="aiyamoer" #真实登录名
passwd="123456" #真实登录密码
count=0 #计数器,循环三次的判断

#读取黑名单的内容
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):
count+=1
password=input("请输入密码:")
if password==passwd:
print("恭喜您登录成功!")
exit()
else:
print("登录失败!")

if count==4:
print("对不起,您已经登录了3次,将不能再次登录!")
f=open('black_user','r')
f.write('%s',username)
f.close()



原文地址:https://www.cnblogs.com/aiyamoer/p/8857978.html