题解 | #密码验证合格程序#
密码验证合格程序
http://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841
def CheckPasswd(passwd): #检查长度 if len(passwd)<=8: return "NG" #检查字符类型 hasNum = 0 hasLowercase = 0 hasUppercase = 0 hasOther = 0 for i in range(len(passwd)): ascaii = ord(passwd[i]) if ascaii >=ord('0') and ascaii <= ord('9'): hasNum = 1 elif ascaii >=ord('a') and ascaii <= ord('z'): hasLowercase = 1 elif ascaii >=ord('A') and ascaii <= ord('Z'): hasUppercase = 1 else: hasOther = 1 types = hasNum + hasLowercase + hasUppercase + hasOther if types <3: return "NG" #检查长度大于2的重复子串 for i in range(len(passwd)-3): #检查每个长度为3的子串是否重复出现即可 substr = passwd[i:i+3] if len(passwd.split(substr))>2: return "NG" return "OK" #三项条件都满足 while 1: try: passwd = input().strip() print(CheckPasswd(passwd)) except EOFError: break