请哪位大佬帮看看,第14章的动动手作业,我这个代码怎么打印不了密码安全级别“高级
post=input("请输入您的密码:")symbols = r'''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>'''
s = 0
for i in post:
if i in symbols:
s = 1
break
if (post.isalnum()) and len(post)<= 8:
print("您的密码安全级别为:低级\n","请按以下方式提升您的密码安全级别:\n"," 1. 密码必须由数字、字母及特殊字符三种组合\n""2. 密码只能由字母开头\n3. 密码长度不能低于16位\t")
elif (post.isalnum()) and (s == 1) and post.isalpha():
print("您的密码安全级别为:高级")
else:
print("您的密码安全级别为:中级\n","请按以下方式提升您的密码安全级别:\t"," 1. 密码必须由数字、字母及特殊字符三种组合\n""2. 密码只能由字母开头\n3. 密码长度不能低于16位\t") elif (post.isalnum()) and (s == 1) and post.isalpha():中isalnum()是仅含数字和字母(意味着不含其它字符),这与s == 1是不可能同时成立的 等你继续完善的代码,打个卡
本帖最后由 傻眼貓咪 于 2021-10-9 08:56 编辑
def passwordLevels(password: str) -> str:
"""
鉴别密码等级
高级:包含数字,特殊字符,字母,字母开头,密码长度:length >= 16
中级:包含数字,字母,密码长度:8 <= length < 16
低级:只包含数字,密码长度:length < 8
"""
if len(password) < 8:
return "密码等级:低级" if all() else "密码不符合任何等级"
elif len(password) < 16:
return "密码等级:中级" if password.isalnum() else "密码不符合任何等级"
elif len(password) >= 16 and password.isalpha():
a =
b =
return "密码等级:高级" if any(a) and any(b) and not password.isalnum() else "密码不符合任何等级"
else: return "密码不符合任何等级"
def main():
print(passwordLevels.__doc__)
print(passwordLevels(input("请输入您的密码:")))
if __name__ == "__main__":
main()
鉴别密码等级
高级:包含数字,特殊字符,字母,字母开头,密码长度:length >= 16
中级:包含数字,字母,密码长度:8 <= length < 16
低级:只包含数字,密码长度:length < 8
请输入您的密码:123456
密码等级:低级
请输入您的密码:abcd123456
密码等级:中级
请输入您的密码:abcde1234567@#$%^
密码等级:高级
请输入您的密码:23423423GFHGFFJF
密码不符合任何等级
页:
[1]