题解 | 密码验证合格程序

密码验证合格程序

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

import sys

lines = sys.stdin.readlines()
for line in lines:
    s = line.strip()
    if len(s) >= 8:

        num = 0
        if any('a' <= ss <= 'z' for ss in s):num += 1
        if any('A' <= ss <= 'Z' for ss in s):num += 1
        if any(ss.isdigit() for ss in s):num += 1
        if any(not ss.isalnum() for ss in s):num +=1
        if num >= 3:
            
            repeat = False
            for i in range(0,len(s)-5):
                # for j in range(i+3,len(s)-2):
                #     if s[i:i+3] == s[j:j+3]:
                #         repeat = True
                if s[i:i+3] in s[i+3:]:
                    repeat = True
                    break
            if not repeat:
                print('OK')
            else:
                print('NG')

        else:
            print('NG')
    else:
        print('NG')

1.判断字符串切片是否有重复之类的问题,用in去判断

2.isalnum():判断是否是字母或数字,返回bool值

3.any():返回bool值

全部评论

相关推荐

02-25 19:38
门头沟学院 Java
点赞 评论 收藏
分享
03-01 19:30
已编辑
南京大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务