|

楼主 |
发表于 2020-3-15 22:39:43
|
显示全部楼层
改完的代码如下,结果应该和小甲鱼的一样了。
- # 定义特殊字符串
- spestr = "~!@#$%^&*()_=-/,.?<>;:[]{}|\"
- # 定义数字字符串
- numstr = '1234567890'
- # 定义字母字符串
- alpstr = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
- passwd = input('输入密码:')
- # 获取psswd的第一个字符
- passcap = passwd[0]
- # 密码是否包含特殊字符
- for i in range(len(spestr)): # 从特殊字符串顺序取值,从0至特殊字符串长度
- if passwd.find(spestr[i]) != -1: # 如果passwd里能找到特殊字符串里的字符则为true并退出for循环,否则为false并继续for循环
- spe = 'True'
- break
- else:
- spe = 'False'
- # 密码是否包含数字
- for i in range(len(numstr)): # 从数字字符串顺序取值,从0至数字符串长度
- if passwd.find(numstr[i]) != -1: # 如果passwd里能获取数字字符串里的字符则为true并退出for循环,否则为false并继续for循环
- num = 'True'
- break
- else:
- num = 'False'
- # 密码是否包含字母
- for i in range(len(alpstr)): # 从字母字符串顺序取值,从0至字母符串长度
- if passwd.find(alpstr[i]) != -1: # 如果passwd里能获取字母字符串里的字符则为true并退出for循环,否则为false并继续for循环
- alp = 'True'
- break
- else:
- alp = 'False'
- # 密码是否为字母开头
- if passcap.isalpha() == True:
- cap = 'True'
- else:
- cap = 'False'
- a = '密码安全级别评定为:'
- while True:
- #低级密码
- if len(passwd) <= 8 or passwd.isdigit() == True or passwd.isalpha() == True:
- print(a, '低')
- #高级密码
- elif len(passwd) >= 16 and spe == 'True' and num == 'True' and alp == 'True' and cap == 'True':
- print(a, '高')
- print('请继续保持')
- break
- #中级密码
- else:
- print(a, '中')
- print('请按一下方式提升您的密码安全级别: \n 1.密码必须由数字、字母及特殊字符三种组合 \n 2.密码只能由字母开头 \n 3.密码长度不能低于16位')
- break
复制代码 |
|