@python密码验证合格程序
密码要求:
1.长度超过8位
2.包括大小写字母,数字,其他符号,以上四种至少三种
3.不能有相同长度大于2的子串重复
一组或多组长度超过2的字符串。每组占一行。
如果符合要求输出:OK
否则输出:NG
输入:
021Abc9000
021Abc9Abc1
021ABC9000
021$bc9000
输出:
OK
NG
NG
OK
# Author :SHJ Wang # Time :2021/9/4 11:20 #条件1 def len_OK(item): item=str(item) if len(item)>8: return True else: return False #条件2 def type_OK(item): item=str(item) types={} for it in item: if it.isdigit(): types['digit'] = 1 elif it.islower(): types['lower'] = 1 elif it.isupper(): types['upper'] = 1 else: types['other'] = 1 if sum(types.values()) >=3: return True else: return False #条件3 def son_OK(item): item=str(item) a=0 for i in range(len(item)): for j in range(i+3,len(item)): if (item[i:j] in item[0:i]) or (item[i:j] in item[j:]): a += 1 else: a=a if a > 0: return False else: return True while True: try: a=str(input()) if len_OK(a) and type_OK(a) and son_OK(a): print('OK') else: print('NG') except: break