python-写三个判断函数即可。
while True:
def test_1(s): # 判断长度
if len(s) <= 8:
return False
return True
def test_2(s): # 判断密码组成是否合法
flag_1 = 0
flag_2 = 0
flag_3 = 0
flag_4 = 0
for x in s:
if 47 < ord(x) < 58:
flag_1 = 1
elif 64 < ord(x) < 91:
flag_2 = 1
elif 96 < ord(x) < 123:
flag_3 = 1
else:
flag_4 = 1
if flag_1 + flag_2 + flag_3 + flag_4 > 2:
return True
else:
return False
def test_3(s): # 判断是否存在长度为3的重复子串
if len(s) < 4:
return True
temp = set()
for i in range(len(s)-2):
temp.add(s[i:i+3])
if len(temp) < len(s)+1-3:
return False
return True
try:
s = input()
if test_1(s) and test_2(s) and test_3(s):
print('OK')
else:
print('NG')
except:
break 
京公网安备 11010502036488号