为了密码安全,建议密码应包含大写字母、小写字母、数字和指定的特殊字符集等4种类型。若用户密码上述4种类型字符均包含,则密码安全级别为“高强度”;若包含其中的3种,则密码安全级别为“中强度”;若只包含其中的2种,则安全级别为“低强度”;若只包含其中的1种,则安全级别为“弱强度”;若1种都没包含,则安全级别为“极差”。输入任一密码,判断其安全级别是上述5种中的哪一种。
提示:
1. 大写字母、小写字母和数字等字符集可用string模块中的ascii_uppercase、ascii_lowercase、digits等变量得到;特殊字符集指定为'@#$&!*%+-'。
2. 将密码变成集合,分别与上述4种字符集进行交集运算,结果为非空集就是包含该类字符,空集就是不包含;非空集可用bool函数得到True,空集可用bool函数得到False。然后对这4个逻辑值求和(True等价为1,False等价为0),根据求和结果是0、1、2、3、4中的哪一个就可知道密码的安全级别。
3. 定义一个密码安全级别字典:{0:'极差', 1:'弱强度', 2:'低强度', 3:'中强度', 4:'高强度'},根据上述求和结果查字典即得密码安全级别。