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

密码验证合格程序

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

    if len(s)<=8:
        return 'NG'
    li = [0,0,0,0]
    for i in s:
        if i.isdigit():
            li[0]=1
        elif i.islower():
            li[1]=1
        elif i.isupper():
            li[2]=1
        else:
            li[3]=1
    if sum(li)<3:
        return "NG"
    for i in range(len(s)-2):
        x = s[i:i+3]
        if x in s[i+3:]:
            return "NG"
    return "OK"
while 1:
    try:
        print(func(input()))
    except:
        break
全部评论
i=len(s)-3时s[i+3:]下标溢出为啥不会报错啊
点赞 回复 分享
发布于 2022-08-30 15:54 浙江
这个更容易懂,感谢大佬
点赞 回复 分享
发布于 2022-03-16 11:56
666
点赞 回复 分享
发布于 2022-03-26 15:31
都编不过 玩啥呢
点赞 回复 分享
发布于 2022-04-26 11:52
md,优雅,太优雅了!
点赞 回复 分享
发布于 2022-07-19 23:44
太优雅了
点赞 回复 分享
发布于 2022-07-31 09:24
可以可以
点赞 回复 分享
发布于 2022-09-05 16:37 上海
写的很出色
点赞 回复 分享
发布于 2022-09-23 16:16 四川
for i in range(len(s)-2)这个len(s)为什么要减2呢, 对题目第三个判断不太理解
点赞 回复 分享
发布于 2022-11-13 11:37 陕西
牛逼,怎么我就想不出来呢
点赞 回复 分享
发布于 2023-02-16 19:32 陕西
现在题目改成包含公共元素的子串了,abc%1234babab这样的现在应该是NG,上述代码if x in s[i+3:]:应该改成if x in s[i+1:]:
点赞 回复 分享
发布于 09-15 20:17 江苏

相关推荐

11-06 10:58
已编辑
门头沟学院 嵌入式工程师
双非25想找富婆不想打工:哦,这该死的伦敦腔,我敢打赌,你简直是个天才,如果我有offer的话,我一定用offer狠狠的打在你的脸上
点赞 评论 收藏
分享
评论
58
32
分享
牛客网
牛客企业服务