! 程序规则
编写一个密码检测程序,对用户输入的密码进行安全性评估。具体规则如下:
- 1 长度检查:密码必须 ≥ 8 位,否则判定为"不合格"。
-
2
强度评级:检查是否包含大写、小写字母和数字。
3项: 强 1-2项: 中 0项: 弱
★ 技能点
字符串处理
使用 len(), isupper(), islower(), isdigit()。
条件分支
掌握 if-elif-else 逻辑判定。
循环计数
遍历字符串并统计满足条件的种类。
流程图
开始
输入密码
长度 \(\ge 8\)?
不合格
检查属性
统计种类
输出评级
结束
程序代码
password = input("请输入密码: ")
if len(password) < 8:
print("不合格:长度不足8位")
else:
has_upper = has_lower = has_digit = False
for char in password:
if char.isupper(): has_upper = True
if char.islower(): has_lower = True
if char.isdigit(): has_digit = True
count = [has_upper, has_lower,
has_digit].count(True)
if count == 3: print("强度:强")
elif count >= 1: print("强度:中")
else: print("强度:弱")
算法描述
- 获取用户输入的密码
- 检查密码长度是否≥8位
- 不足8位→输出"不合格"并结束
- 满足条件→继续下一步
- 初始化三个布尔变量,标记是否包含大写字母、小写字母和数字
- 遍历密码中的每个字符,检查字符类型并更新标记
- 统计满足条件的种类数量
- 3项都满足 → 评级为"强"
- 满足1~2项 → 评级为"中"
- 都不满足 → 评级为"弱"
- 输出密码强度评级
状态监控
输入内容:
-
长度检查:
-
大写: -
小写: -
数字: -
最终评级:
-
等待开始...
代码同步
评估报告
等待输入
强度能量条
0%
长度 \(\ge 8\)
包含大写字母
包含小写字母
包含数字