用 Python 检查给定密码是否符合条件的程序
pythonserver side programmingprogramming更新于 2026/1/12 6:04:17
假设我们有一个字符串 s,代表密码,我们必须检查密码条件。我们必须遵循一些规则 −
- 密码长度至少为 8 个字符,最多为 20 个字符。
- 密码至少包含一位数字
- 密码至少包含一个小写字符和一个大写字符
- 密码至少包含一个特殊字符,如 !"#$%&\'()*+,-./:;<=>?@[\]^_`{|}~
- 密码不包含任何其他字符,如制表符或换行符。
因此,如果输入类似于 "@bCd12#4",则输出将为 True。
为了解决这个问题,我们将遵循以下步骤 −
- a:= 0, b:= 0, c:= 0, d:= 0
- 如果密码大小 < 8 或密码大小 > 20,则
- 返回 False
- 对于密码中的每个字符 i,执行
- 如果 i 是大写字母,则
- a := a + 1
- 否则当 i 是小写字母时,则
- b := b + 1
- 否则当 i 在这些特殊字符集中 '"!"#^modAND\'() *+,- ./:;<=>?@[\]XOR_`{OR}~"',则
- c := c + 1
- 否则当 i 是 a数字,则
- d := d + 1
- 如果 i 是大写字母,则
- 如果 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
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

