当前位置:   article > 正文

华为机考入门python3--(20)牛客20- 密码验证合格程序_华为机考牛客和

华为机考牛客和

分类:字符串

知识点:

  1. 遍历字符串的每个字符    for char in my_str:

  2. 可以直接比较字符范围    'a' <= char <= 'z'

  3. 列表统计元素个数    my_list.count(elem)

  4. 寻找子串    my_str.find(sub_str)

题目来自【牛客】

图片

  1. import re
  2. import sys
  3. def check_password(password):
  4. # 检查密码长度
  5. if len(password) <= 8:
  6. return "NG"
  7. # 判断是否至少包括大小写字母、数字和其他符号中的三种
  8. categories = [False] * 4
  9. for char in password:
  10. if 'a' <= char <= 'z':
  11. categories[0] = True
  12. elif 'A' <= char <= 'Z':
  13. categories[1] = True
  14. elif '0' <= char <= '9':
  15. categories[2] = True
  16. else:
  17. categories[3] = True
  18. if categories.count(True) < 3:
  19. return "NG"
  20. # 判断是否有长度大于2的重复子串
  21. for i in range(len(password) - 3):
  22. substr = password[i:i+3]
  23. # find() 方法是字符串类型(str)的一个方法,
  24. # 用于查找子字符串在主字符串中首次出现的位置。
  25. # 如果找到子字符串,则返回其首次出现的索引值;
  26. # 如果未找到子字符串,则返回-1
  27. if password[i+3:].find(substr) != -1:
  28. return "NG"
  29. return "OK"
  30. for line in sys.stdin:
  31. password = line.strip()
  32. result = check_password(password)
  33. print(result)
'
运行

by 软件工程小施同学

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/901630
推荐阅读
相关标签
  

闽ICP备14008679号