|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
symbols = '`~!@#$%^&*()_+-=[]\{}|;",:./<>?'
chars = 'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM'
nums = '0123456789'
password = input('请输入需要检查的密码')
length = len(password)
while(password.isspace()) or (length < 6):
print('密码过于简单')
break
for each in password:
while (each in chars) or (each in nums):
print('您的密码等级为:',end ='')
if length <= 8:
print('低')
break
elif (each in nums) and (each in symbols) and (password[0] in chars):
if length > 16:
print('高')
break
else:
print('中')
break
break
为什么总是不能显示密码级别为高的结果,麻烦哪位大神指点一下,感谢~
本帖最后由 阿bang 于 2018-3-22 23:17 编辑
- specialletter = '~!@#$%^&*()_=-/,.?<>;:[]{}|''\\'
- numbers = '1234567890'
- letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
- password = raw_input('Please input your password: ')
- numbers_count = 0
- letters_count = 0
- specialletter_count = 0
- length = len(password)
- if length == 0 or password.isspace():
- print '您输入得是空值'
- elif length:
- for i in password:
- if i in numbers:
- numbers_count = 1
- elif i in letters:
- letters_count = 1
- elif i in specialletter:
- specialletter_count = 1
- else:
- print '您输入得密码含有特殊字符,请重新输入!'
- print '特殊字符仅限:~!@#$%^&*()_=-/,.?<>;:[]{}\|'
- break
- if length <= 8 and specialletter_count == 0 and numbers_count + letters_count == 1:
- print '您输入的是低级密码,过于简单了'
- if length >= 8 and specialletter_count + numbers_count + letters_count == 2:
- print '中级密码'
- if numbers_count + letters_count + specialletter_count == 3 and length >= 16 and password[0] in letters:
- print '高级密码'
复制代码
我的代码发你参考下吧。你的整体思路是不对的。
|
|