Python编写一个程序,用户输入密码,密码长度必须大于等于 8位,如果密码满足 10 位以上,数字、大写字母、小写字母、标点符号中一种可以加1分,总计5分,1-5分依次对应密码安全等级为弱,较弱,中,较强和强,使用数字和星号输出密码等级。“
时间: 2023-09-24 14:05:40 浏览: 66
可以使用以下代码实现:
```python
import re
password = input("请输入密码:")
# 判断密码长度是否大于等于8位
if len(password) < 8:
print("密码长度必须大于等于8位")
else:
# 判断密码中是否包含数字、大写字母、小写字母、标点符号中的一种
score = 0
if re.search("\d", password):
score += 1
if re.search("[A-Z]", password):
score += 1
if re.search("[a-z]", password):
score += 1
if re.search("[\W_]", password):
score += 1
# 输出密码等级
if score == 1:
print("密码等级:弱")
elif score == 2:
print("密码等级:较弱")
elif score == 3:
print("密码等级:中")
elif score == 4:
print("密码等级:较强")
elif score == 5:
print("密码等级:强")
# 使用数字和星号输出密码等级
print("密码等级:{}{}".format(score, "*" * (score-1)))
```
运行结果:
```
请输入密码:123
密码长度必须大于等于8位
```
```
请输入密码:12345678
密码等级:弱
密码等级:1*
```
```
请输入密码:12345678A
密码等级:较弱
密码等级:2**
```
```
请输入密码:12345678a
密码等级:较弱
密码等级:2**
```
```
请输入密码:12345678a!
密码等级:中
密码等级:3***
```
```
请输入密码:12345678a!B
密码等级:较强
密码等级:4****
```
```
请输入密码:12345678a!Bc
密码等级:强
密码等级:5*****
```