密码验证合格程序
描述
-
密码要求:
-
长度超过8位
-
包括大小写字母.数字.其它符号,以上四种至少三种
-
不能有长度大于2的包含公共元素的子串重复 (注:其他符号不含空格或换行)
-
-
数据范围:输入的字符串长度满足 1≤ n ≤100
输入描述:一组字符串。
输出描述:如果符合要求输出:OK,否则输出NG
示例
# 输入:
021Abc9000
021Abc9Abc1
021ABC9000
021$bc9000
# 输出:
OK
NG
NG
OK
Python3 答案
'''
初始化4个变量为0, 大写字母、小写字母、数字、其他符号各为4个条件
满足1个条件则1个变量置为1, 最终满足 >=3 个满足需求条件2
'''
while True:
try:
line=input()
if 1 <= len(line) <= 100:
a, b, c, d = 0, 0, 0, 0
flag=True
for i in line:
if i.isdigit():
a=1
elif i.islower():
b=1
elif i.isupper():
c=1
else:
d=1
for j in range(len(line)-3):
if line.count(line[j:j+3])>1:
flag=False
if len(line)>8 and (a+b+c+d)>=3 and flag:
print("OK")
else:
print("NG")
except:
break