鱼C论坛

 找回密码
 立即注册
查看: 1542|回复: 5

第十四节课后作业密码安全级别验证请大神帮忙看看这个代码还有没有什么可以优化改进的

[复制链接]
发表于 2020-2-11 16:12:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 zzong2019 于 2020-2-11 16:51 编辑
  1. # 密码安全性检查代码
  2. #
  3. # 低级密码要求:
  4. #   1. 密码由单纯的数字或字母组成
  5. #   2. 密码长度小于等于8位
  6. #
  7. # 中级密码要求:
  8. #   1. 密码必须由数字、字母或特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)任意两种组合
  9. #   2. 密码长度不能低于8位
  10. #
  11. # 高级密码要求:
  12. #   1. 密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)三种组合
  13. #   2. 密码只能由字母开头
  14. #   3. 密码长度不能低于16位
  15. password=input('请设置您的账户密码:')
  16. length=len(password)
  17. while length==0 or password.isspace():  #确保输入的密码不为空且不是空格,否则要求重新输入
  18.     print('输入有误,请重新输入!')
  19.     password=input('请设置您的账户密码:')
  20. #先判断密码字符长度,给出高、中、低三个等级划分
  21. if length<=8:
  22.     sign='L'
  23. elif 8<length<16:
  24.     sign='M'
  25. else:
  26.     sign='H'
  27. str1=r'~!@#$%^&*()_=-/,.?<>;:[]{}|''\\'
  28. alpha,digit,symbol=0,0,0
  29. # 定义字符数据类型的判定标准,注意要使用原始字符串标记r
  30. for each in password:
  31.     if each.isalpha():
  32.         alpha=1
  33.     elif each.isdigit():
  34.         digit=1
  35.     elif each in str1:
  36.         symbol=1
  37. if alpha+digit+symbol==1:
  38.     sign+='L'
  39. elif alpha+digit+symbol==2:
  40.     sign+='M'
  41. elif alpha+digit+symbol==3:
  42.     sign+='H'
  43. a=1
  44. while a:
  45.     if sign=='HH' and password[0].isalpha():
  46.         print('高')
  47.         print('请继续保持!')
  48.         break
  49.     elif 'L' in sign:
  50.         print('您的密码安全级别评定为:低')
  51.         a=0
  52.     else:
  53.         print('您的密码安全级别评定为:中')
  54.         a=0
  55.     print('建议按以下方式提升安全级别:\n1.密码必须由数字、字母及特殊字符组合;\n2.密码必须以字母开头;\n3.密码长度不得低于16位。')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-11 16:48:34 | 显示全部楼层

回帖奖励 +10 鱼币

代码写的不错,就是一些细节问题
43行的a变量,最好用True和False,这样可以逻辑更清晰,也让别人知道这不是一个计数用变量
而且应该改名为flag,代表这是一个标记TF用的变量
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-11 22:34:37 | 显示全部楼层

回帖奖励 +10 鱼币

不错不错
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-11 23:37:47 | 显示全部楼层

回帖奖励 +10 鱼币

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-11 23:39:54 | 显示全部楼层

回帖奖励 +10 鱼币

可以
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-12 09:42:01 | 显示全部楼层

回帖奖励 +10 鱼币

可以
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-22 08:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表