密码强度判断
描述
用户输入一个字符串做为密码,判断密码强度,规则为:密码长度小于8弱密码,密码长度大于等于8且包含至少2种字符为中等强度、密码包含3种字符为强、包含全部4种字符为极强。
提示:
string.digits 可返回'0123456789'
string.ascii_lowercase 可返回'abcdefghijklmnopqrstuvwxyz'
string.ascii_uppercase 可返回'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
string.punctuation 可返回'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
输入格式
输入一个字符串
输出格式
密码强度的判断结果,分:弱、中、强、极强,共四种
输入输出示例
输入 123sdf 输出 弱
12345678as 中
12345678Aa 强
12345678Aa! 极强
代码
from string import * str1 = input() x=y=p=q=0 for i in str1: if i in digits: x = 1 elif i in ascii_lowercase: y = 1 elif i in ascii_uppercase: p = 1 else: q = 1 s = x + y + p + q if len(str1)<8 : print("弱") else: if s < 2: print("弱") elif s == 2: print("中") elif s == 3: print("强") else: print("极强")
分析
本题需要转换思路,用x,y,p,q四个量为1或0,代表每一种符号是否在字符串中出现,再使用它们的和来判断密码的强度