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

假设我们有一个代表密码的字符串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

    以上是 用于检查给定密码是否符合条件的程序 的全部内容, 来源链接: utcz.com/z/331290.html

    回到顶部