题解 | #密码验证合格程序#

密码验证合格程序

http://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841

import sys

def is_ok(i):
if len(i) < 9:
return "NG" # length
else:
flag = [0,0,0,0]
for j in i:
if j.isdigit():
flag[0] = "1"
elif j.isalpha():
if j.isupper():
flag[1] = "1"
else:
flag[2] = "1"
else:
flag[3] = "1"
if flag.count("1") < 3:
return "NG" #type
else:
for k in range(len(i)//2, 2, -1):
set1 = set()
last = ""
rept = 0
for o in range(0, len(i)-k+1):
target = i[o:o+k]
set1.add(str(target))
if last==target and k<=4:
rept +=1
last = target
if len(set1) + rept!= len(i)-k+1:
return "NG" #sub list
return "OK"

in_str = map(lambda x:x.strip('\n') , sys.stdin.readlines())
for i in in_str:
print(is_ok(i))

全部评论

相关推荐

西松屋:说明原部门有机会把
点赞 评论 收藏
分享
醒工硬件:1学校那里把xxxxx学院去了,加了学院看着就不像本校 2简历实习和项目稍微精简一下。字太多,面试官看着累 3第一个实习格式和第二个实习不一样。建议换行 4项目描述太详细了,你快把原理图贴上来了。比如可以这样描述:使用yyyy芯片,使用xx拓扑,使用pwm控制频率与占空比,进行了了mos/电感/变压器选型,实现了xx功能 建议把技术栈和你做的较为有亮点的工作归纳出来 5熟悉正反激这个是真的吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务