• python每日一题(模拟用户登录验证)


    1、题目

       预先设定正确用户名与密码,用来验证用户是否登录成功。

       第一次:

       ① 输入用户名与密码,如果用户名与密码正确,则提示登录成功

       ② 如果用户名错误(不管密码是否正确),则需要重新输入用户名与密码验证,并提示用户名或密码错误;

       ③ 如果用户名正确,密码错误,打印密码错误,且仅需要输入密码验证,且验证次数仅剩与2次,若在2次验证机会内成功,则提示登录成功,否则提示账号已锁定。

       ④ 在3次机会内,打印剩余机会数。

     

    2、分析

    3、代码实现

    1. UserName = "itboss"
    2. Passoword = "12345"
    3. times = 3
    4. while times > 0:
    5. uName = input("请输入用户名:")
    6. uPwd = input("请输入密码:")
    7. times -= 1
    8. if uName == UserName:
    9. if uPwd == Passoword:
    10. print("登录成功")
    11. break
    12. else:
    13. print("密码错误,剩余{}次机会!".format(times))
    14. while times > 0:
    15. uPwd = input("请输入密码:")
    16. times -= 1
    17. if uPwd == Passoword:
    18. print("登录成功")
    19. break
    20. if times > 0:
    21. print("密码错误,剩余{}次机会!".format(times))
    22. else:
    23. print("账号被锁定!")
    24. break
    25. if times > 0:
    26. print("用户名或密码错误!剩余{}次机会!".format(times))
    27. else:
    28. print("账号被锁定!")

    4、代码测试

    情况1:第1次:用户名与密码都正确

    1. 请输入用户名:itboss
    2. 请输入密码:12345
    3. 登录成功

    情况2:3次用户名错误

    1. 请输入用户名:it
    2. 请输入密码:123
    3. 用户名或密码错误!剩余2次机会!
    4. 请输入用户名:it
    5. 请输入密码:12345
    6. 用户名或密码错误!剩余1次机会!
    7. 请输入用户名:ti
    8. 请输入密码:12345
    9. 账号被锁定!

    情况3:第1次用户正确,第1次密码错误,第2次密码正确

    1. 请输入用户名:itboss
    2. 请输入密码:123
    3. 密码错误,剩余2次机会!
    4. 请输入密码:itboss
    5. 密码错误,剩余1次机会!
    6. 请输入密码:12345
    7. 登录成功

    情况4:第1次用户名正确,第3次密码正确

    1. 请输入用户名:itboss
    2. 请输入密码:123
    3. 密码错误,剩余2次机会!
    4. 请输入密码:1234
    5. 密码错误,剩余1次机会!
    6. 请输入密码:12345
    7. 登录成功

    情况5:第1次用户名正确,第3次密码错误

    1. 请输入用户名:itboss
    2. 请输入密码:123
    3. 密码错误,剩余2次机会!
    4. 请输入密码:1234
    5. 密码错误,剩余1次机会!
    6. 请输入密码:123
    7. 账号被锁定!

    5、题目总结

    •  本题目主要考查while、if语句的使用,同时也是对思维逻辑的考查。

    结语以上整个程序的实现逻辑,还存在很多不全面的地方,欢迎各位大佬指点;如果觉得笔者不易,欢迎关注和点赞,给予我记录更多文章的动力!!

  • 相关阅读:
    华纳云:Ubuntu下开启php调试模式报错如何解决
    第 1 章 知识管理
    安全防御设备---防火墙2
    为什么建议主键整型自增?
    在linux上部署一个web项目的小经验
    vue3 区别于 vue2 的“与众不同”
    【PDN仿真笔记7-使用Sigrity PowerSI进行PDN仿真的方法2】
    矩阵论复习提纲
    记录协助Javaer硬件快速开发过程之Web技术栈对接施耐德网络IO网关
    Spring工具类--ReflectUtils的使用
  • 原文地址:https://blog.csdn.net/qq_19394437/article/details/133156674