pan*_*kes 1 python string passwords
我需要制作一个程序来检查具有以下要求的输入(密码):
- 长度至少为 8 个字符
- 包含至少一个小写字母
- 包含至少一个大写字母
- 包含至少一个数字
如果不满足任何要求,则应返回 false。
到目前为止,我仅针对第一个要求进行了以下操作。
def check_password(pword):
if len(pword) < 8:
return False
for i in pword:
if pword[i].isUpper():
print(True)
return True
Run Code Online (Sandbox Code Playgroud)
我不知道如何在不使用正则表达式的情况下实现其他要求。
在任何语句返回True,如果你的字符串中有至少一个匹配,在这种情况下,一个大写字母,小写字母和数字字符的要求。然后all语句True仅在满足所有条件时才返回。
def check_password(pword):
return all([
len(pword) >= 8,
any(letter.isupper() for letter in pword),
any(letter.islower() for letter in pword),
any(letter.isdecimal() for letter in pword)
])
check_password('a4R') # False
check_password('abcdefgh') # False
check_password('12345678') # False
check_password('ABCDEFGH') # False
check_password('abcDEFGH') # False
check_password('abc45678') # False
check_password('ABC45678') # False
check_password('abcDEF7') # False
check_password('abcDEF78') # True
check_password('abc12345') # False
Run Code Online (Sandbox Code Playgroud)