检测密码的安全强度。一般密码字符主要有4类:数字、小写字母、大写字母和特殊的几个标点符号(@;,!?<>.)。
密码安全强度主要与字符串的复杂程度有直接关系。如果字符串中包含的字符种类越多,其安全强度越高。这里把安全强度划分为4个等级:安全强度高、中高、中低、弱。其中,“安全强度高”表示字符串中同时包含数字、小写字母、大写字母和标点符号这4种字符,而“安全强度弱”表示仅包含其中一种字符。其他依次类推。
编写程序,输入一个密码字符串,输出该密码的安全强度。
实验要求:
(1)用函数来组织代码,函数参数为密码字符串,返回值为安全强度;
(2)密码字符个数必须大于等于6;
请问这个代码怎么修改,还有返回值这么为安全强度?
while True:
try:
mode=input("请输入密码,测试安全程度:")
s=len(mode)
assert s>=6
break
except:
print("请重新输入密码,要求密码字符个数必须大于等于6")
test()
def test(mode):
c=0
tring = "@;,!?<>."
for i in string:
if i in mode:
c=s+1
for i in mode:
if '0'<=i<='9':
c+=1
break
for i in mode:
if 'a'<=i<='z' :
c+=1
break
for i in mode:
if 'A'<=i<='Z' :
c+=1
break
def safe():
nonlocal c
if c==1:print("该密码安全强度弱")
elif c==2:print("该密码安全强度中低")
elif c==3:print("该密码安全强度中高")
elif c==4:print("该密码安全强度强")
safe()