用于检查给定密码是否符合条件的程序

假设我们有一个代表密码的字符串s,我们必须检查密码标准。有几条规则,我们必须遵循-

  • 密码长度至少为8个字符,最大为20个字符。

  • 密码至少包含一位数字

  • 密码至少包含一个小写字符和一个大写字符

  • 密码至少包含一个特殊字符,如!“#$%&\'()* +,-。/ :; <=>?@ [\\] ^ _`{|}〜

  • 密码不包含其他任何字符,例如制表符或换行符。

因此,如果输入类似于“ @ bCd12#4”,则输出将为True。

为了解决这个问题,我们将遵循以下步骤-

  • a:= 0,b:= 0,c:= 0,d:= 0

  • 如果密码的大小<8或密码的大小> 20,则

    • 返回False

  • 对于密码中的每个字符,请执行

    • d:= d + 1

    • c:= c + 1

    • b:= b + 1

    • a:= a + 1

    • 如果我是大写字母,那么

    • 否则,当我是小写字母时

    • 否则,当我在这组特殊字符'“!”#^ modAND \'()* +,-./:;<=>?@[\\]XOR_`{OR}~“”中时,则

    • 否则,当我是数字时,则

    • 如果a> = 1和b> = 1且c> = 1和d> = 1且a + b + c + d与密码的大小相同,则

      • 返回True

    • 除此以外,

      • 返回False

    让我们看下面的实现以更好地理解-

    示例

    class Solution:
       def solve(self, password):
          a=0
          b=0
          c=0
          d=0
          if len(password)<8 or len(password)>20:
             return False
          for i in password:
             if i.isupper():
                a+=1
             elif i.islower():
                b+=1
             elif i in '"!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~"':
                c+=1
             elif i.isdigit():
                d+=1
          if a>=1 and b>=1 and c>=1 and d>=1 and
             a+b+c+d==len(password):
          return True
          else:
             return False
    s = "@bCd12#4"
    ob = Solution()print(ob.solve(s))

    输入项

    "@bCd12#4"

    输出结果

    True
    猜你喜欢