|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
symbols = '!@#$%^&*()_+-=[]\{}|;",./<>?'
chars = 'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM'
nums = '0123456789'
password = input('请输入需要检测的密码:')
length = len(password)
while(password.isspace()) or (length < 6):
password = input('密码过于简单')
break
temp1_length = 0
if length <= 8:
temp1_length = 1
elif 8 < length < 16:
tem1_length = 2
else:
temp1_length = 3
temp2_length = 0
for each in password:
if each in nums:
temp2_length += 1
break
for each in password:
if each in chars:
temp2_length += 1
break
for each in password:
if each in symbols:
temp2_length += 1
break
while 1:
print('您的密码安全等级为:', end = '')
if (temp1_length == 1) or (temp2_length == 1):
print('低')
elif (temp1_length == 3) and (temp2_length == 3) and (password[0] in chars):
print('高')
break
else:
print('中')
print('''请按照以下几种方式修改您的密码:
1.密码长度必须由字母,数字及特殊字符组成
2.密码必须由字符开头
3.密码长度不得低于16位''')
break
一直得不到密码级别为高的结果,最后把变量名换了才发现.....
为什么标注那里的变量名只能是chars才会得出密码级别为高的结果呢
我把chars换成symbols或者nums都得不到
求大神告知,谢谢
请输入需要检测的密码:%djfajdjf12831239
您的密码安全等级为: 高
判断 in symbols 也没问题。。
|
|