题解 | #密码验证合格程序#
密码验证合格程序
http://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841
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