编写函数check,用于判断输入的密码强度,并编写测试程序接收键盘输入的密码,验证check。 具体要求: (1) 输入密码必须大于9位数,如果输入密码少于9位数,输出“请设置长度超过9位数的密码”。 (2) 输入密码首字母必须为大写字母,如果输入的密码首字母不是大写字母,输出“请设置首字母为大写字母的密码”。 (3) 判断密码强度,并输出建议。例如:“您设置的密码强度:很弱,建议设置同时包括数字、大小写字母、指定字符‘_,.!;?<> ’的密码。 (4) 设置规则:密码同时包含数字、小写字母、大写字母、指定字符“_,.!;?<> ”四类字符,则密码强度为“强”;密码同时包含数字、小写字母、大写字母、指定字符“_,.!;?<> ”中的三类字符,则密码强度为“中”;密码同时包含数字、小写字母、大写字母、指定字符“_,.!;?<> ”中的两类字符,则密码强度为“弱”;密码同时包含数字、小写字母、大写字母、指定字符“_,.!;?<> ”中的1类字符,则密码强度为“很弱”。
时间: 2024-03-12 20:44:22 浏览: 101
JS 验证密码 不能为空,必须含有数字、字母、特殊字符,长度在8-12位
好的,我会为您解答这个问题。
以下是 Python 代码实现:
```python
def check(password):
# 判断密码长度
if len(password) < 9:
return "请设置长度超过9位数的密码"
# 判断密码首字母是否为大写字母
if not password[0].isupper():
return "请设置首字母为大写字母的密码"
# 判断密码强度并输出建议
categories = [any(c.isdigit() for c in password),
any(c.islower() for c in password),
any(c.isupper() for c in password),
any(c in '_,.!;?<> ' for c in password)]
num_categories = sum(categories)
if num_categories == 4:
return "您设置的密码强度:强,建议保持"
elif num_categories == 3:
return "您设置的密码强度:中,建议增加指定字符‘_,.!;?<>’"
elif num_categories == 2:
return "您设置的密码强度:弱,建议增加数字和大小写字母"
else:
return "您设置的密码强度:很弱,建议设置同时包括数字、大小写字母、指定字符‘_,.!;?<>’的密码"
# 测试程序
password = input("请输入密码:")
result = check(password)
print(result)
```
这个函数 `check` 接受一个字符串参数 `password`,判断密码长度、首字母是否为大写字母,并根据密码中包含的字符类型判断密码强度。最后返回一个字符串,指示密码强度和建议。在测试程序中,接收键盘输入的密码并调用 `check` 函数进行验证,最终输出检查结果。
阅读全文