题解 | 密码验证合格程序

密码验证合格程序

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

import sys

for pwd in sys.stdin:
    pwd = pwd.strip()		#清理输入那一行的多于内容

    a,b,c,d,w = 0,0,0,0,0

    if len(pwd) < 8:		#判断密码长度不小于8位
        print("NG")
        continue

    for i in pwd:			#判断至少包含大小写字母,数字,特俗字符中的三种
        if 'a' <= i <= 'z':
            a = 1
        elif 'A' <= i <= 'Z':
            b = 1
        elif '0' <= i <= '9':
            c = 1
        else:
            d = 1
        
    if a+b+c+d < 3:			#判断至少包含大小写字母,数字,特俗字符中的三种
        print("NG")
        continue

    for p in range(len(pwd)-2):		#判断密码中有无重复三个以上的字符
        x = pwd[p:p+3]
        if x in pwd[p+1:]:
            w = 1
            break
    if w==1:
        print("NG")
    else:
        print("OK")


思路见解析!

注意:

1.break是终止循环,相当于不执行循环的后续内容了,continue是跳过本次循环,是进入下一个的循环;

2.第26行到34行实现判断密码中有无重复三个以上的字符的功能部分,原来是这样写的!

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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