本题目要求根据输入密码字符串(字符串长度大于6),密码只能由大写字母、小写字母、数字及下划线四种类型组成,其密码强度为包含类型的数量,例如包含大小写则密码强度为2,四种类型全包含则为4.若包含其他类型的字符则输出Illegal Password.
时间: 2024-05-15 10:18:26 浏览: 156
好的,我明白了。关于你的问题,我可以提供以下代码实现:
``` python
import re
password = input("请输入密码:")
if len(password) < 7: # 判断密码长度是否合法
print("密码长度不足6位!")
elif not re.match(r'^[\w]+$', password): # 判断密码是否只由大小写字母、数字、下划线组成
print("密码包含非法字符!")
else:
strength = 0
if re.search(r'[a-z]', password):
strength += 1
if re.search(r'[A-Z]', password):
strength += 1
if re.search(r'\d', password):
strength += 1
if re.search(r'[_]', password):
strength += 1
if strength == 0:
print("密码不符合规范!")
elif strength < 4:
print("密码强度为:", strength)
else:
print("密码强度为:", strength, ",非常强!")
```
以上代码实现中使用了正则表达式来检查密码是否符合规范和包含哪些类型的字符。如果密码长度小于7则输出密码长度不足6位,如果密码包含非法字符则输出密码包含非法字符。密码中包含的类型越多,则密码强度越高。如果密码强度小于4,则输出密码强度为几,否则输出密码强度为几,非常强!
阅读全文