题解 | #密码验证合格程序#
密码验证合格程序
http://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841
解题思路: 1.判断长度是否达标 2.判断字符是否是三种及三种以上 3.判断是否含有重复子串
while True: try: s = str(input()) #读入数据 l = len(s) #获取长度 if l>8: #判断字符串长度 dp = [0]*4 #记录字符种类,0:不含,1:含有 f = 0 #记录重复子串,设初始不含 for i in range(l): #遍历字符 if s[i].isdigit():dp[0]=1 #判断是否含有数字 elif s[i].isupper():dp[1]=1 #判断是否含有大写 elif s[i].islower():dp[2]=1 #判断是否含有小写 else:dp[3]=1 #判断是否含有字符 if s[i:i+3] in s[i+3:]: #判断是否含有长度大于2的重复字串 f = 1 #有长度大于2的重复字串 if sum(dp)>=3 and f==0:print('OK') #含有三种字符且不含有长度大于2的重复字串 else: print('NG') #不含有三种字符或者含有长度大于2的重复字串 else: print('NG') #总长度小于等于8 except: break