1、题目
预先设定正确用户名与密码,用来验证用户是否登录成功。
第一次:
① 输入用户名与密码,如果用户名与密码正确,则提示登录成功;
② 如果用户名错误(不管密码是否正确),则需要重新输入用户名与密码验证,并提示用户名或密码错误;
③ 如果用户名正确,密码错误,打印密码错误,且仅需要输入密码验证,且验证次数仅剩与2次,若在2次验证机会内成功,则提示登录成功,否则提示账号已锁定。
④ 在3次机会内,打印剩余机会数。
2、分析
3、代码实现
UserName = "itboss"
Passoword = "12345"times = 3while times > 0:uName = input("请输入用户名:")uPwd = input("请输入密码:")times -= 1if uName == UserName:if uPwd == Passoword:print("登录成功")breakelse:print("密码错误,剩余{}次机会!".format(times))while times > 0:uPwd = input("请输入密码:")times -= 1if uPwd == Passoword:print("登录成功")breakif times > 0:print("密码错误,剩余{}次机会!".format(times))else:print("账号被锁定!")breakif times > 0:print("用户名或密码错误!剩余{}次机会!".format(times))
else:print("账号被锁定!")
4、代码测试
情况1:第1次:用户名与密码都正确
请输入用户名:itboss
请输入密码:12345
登录成功
情况2:3次用户名错误
请输入用户名:it
请输入密码:123
用户名或密码错误!剩余2次机会!
请输入用户名:it
请输入密码:12345
用户名或密码错误!剩余1次机会!
请输入用户名:ti
请输入密码:12345
账号被锁定!
情况3:第1次用户正确,第1次密码错误,第2次密码正确
请输入用户名:itboss
请输入密码:123
密码错误,剩余2次机会!
请输入密码:itboss
密码错误,剩余1次机会!
请输入密码:12345
登录成功
情况4:第1次用户名正确,第3次密码正确
请输入用户名:itboss
请输入密码:123
密码错误,剩余2次机会!
请输入密码:1234
密码错误,剩余1次机会!
请输入密码:12345
登录成功
情况5:第1次用户名正确,第3次密码错误
请输入用户名:itboss
请输入密码:123
密码错误,剩余2次机会!
请输入密码:1234
密码错误,剩余1次机会!
请输入密码:123
账号被锁定!
5、题目总结
- 本题目主要考查while、if语句的使用,同时也是对思维逻辑的考查。
【结语】以上整个程序的实现逻辑,还存在很多不全面的地方,欢迎各位大佬指点;如果觉得笔者不易,欢迎关注和点赞,给予我记录更多文章的动力!!