该题第三条意在判断是否有子串重复

from sys import stdin
ostr = stdin.readlines()
def decide_length(passw): #判断长度是否符合
    if len(passw) > 8 :
        return True
    else:
        return False
def decide_kind(passw): #判断种类是否符合(应用ASCII码值)
    kind = set()
    for i in passw:
        if 48 <= ord(i) <= 57 :
            kind.add(1)
        elif 65 <= ord(i) <= 90 :
            kind.add('A')
        elif 97 <= ord(i) <= 122 :
            kind.add('a')
        elif ord(i) != 32 or ord(i) != 10:
            kind.add('T')
    if len(kind) >= 3 :
        return True
    else:
        return False
def decide_re(passw): #判断是否有子串重复(用count函数来统计)
    x = len(passw)//2
    for i in range(x):
        if passw.count(passw[i:i+3]) > 1:
            return False
    return True

for pasw in ostr:
    if decide_length(pasw.strip('\n')) and decide_kind(pasw.strip('\n')) and decide_re(pasw.strip('\n')):
        print('OK')
    else:
        print('NG')