HJ20 密码验证合格程序
2022/6/9 1:23:06
本文主要是介绍HJ20 密码验证合格程序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
题目描述
密码要求:
1.长度超过8位
2.包括大小写字母.数字.其它符号,以上四种至少三种
3.不能有长度大于2的包含公共元素的子串重复 (注:其他符号不含空格或换行)
数据范围:输入的字符串长度满足 1≤n≤100
输入描述
一组字符串
输入描述
如果符合要求输出:OK,否则输出NG
代码和解题思路
""" 先声明一个用来判断密码的函数,通过调用函数来完成题目要求 """ def check(s): if len(s)<8:#判断长度是否符合要求 return 0 a,b,c,d=0,0,0,0#a,b,c,d分别代表一种符号 for item in s:#遍历字符串,用ascall吗来查看是否有某种类型符号 if ord('a')<=ord(item)<=ord('z'): a=1 elif ord('A')<=ord(item)<=ord("Z"): b=1 elif ord('0')<=ord(item)<=ord("9"): c=1 else: d=1 if a+b+c+d<3:#判断是否符合字符种类至少有三种的要求 return 0 for i in range(len(s)-3):#将字符串按分片的字符串分开,一般情况下只能分成两份,即一刀两段,如果有三段,则证明有长度大于2的包含公共元素的子串重复 if len(s.split(s[i:i+3]))>=3: return 0 return 1 while 1: try: print('OK' if check(input()) else 'NG'); except: break
这篇关于HJ20 密码验证合格程序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?
- 2024-05-09企业src漏洞挖掘-有意思的命令执行