| 
 | 
 
 
 楼主 |
发表于 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
 
 
  复制代码 |   
 
 
 
 |