题解 | #密码验证合格程序#
密码验证合格程序
https://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841
import sys def check(s): if len(s) < 8: return 0 a,b,c,d = 0,0,0,0 for i in s: if ord('a') <= ord(i) <= ord('z'): a = 1 elif ord('A') <= ord(i) <= ord('Z'): b = 1 elif ord('0') <= ord(i) <= ord('9'): c = 1 else: d = 1 if a + b + c + d < 3: return 0 for i in range(len(s)-3): if len(s.split(s[i:i+3])) >= 3: #12121ab中,第一个‘121’跟第二个‘121’重复且长度大于2,但是不能含公共元素第2个‘1’,所以是合法的,不含公共元素的意义就是比对重复的时候,别的字符串中一样的那个元素不是自己原本的就算过的元素 return 0 return 1 while 1: try: print('OK' if check(input()) else 'NG') except: break