鱼C论坛

 找回密码
 立即注册
查看: 2168|回复: 1

[已解决]关于python的第14讲作业密码检测问题

[复制链接]
发表于 2017-6-27 23:54:25 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 LiuzhonG 于 2017-6-27 23:58 编辑

问题链接:http://bbs.fishc.com/forum.php?m ... peid%26typeid%3D398
我的解题思路为:全程用BIF判断,判断密码是不是纯字母和数字及长度,但判断是否带特殊符号我就没办法了,因此我用password.isalnum() == False这个BIF代替密码有无除字母数字外的特殊符号,因为不会用别的BIF来判断,所以无法确定特殊符号的种类,以及无法判断字母数字符号的组合数,所以中等密码和高等密码无法区分,因此我把判断密码等级是否为高的放在中等密码上面。
我想请教的是,按我思路有没有办法解决?
  1. password = input('请输入需要检查的密码组合:')
  2. #'''判断密码是否为纯字母或数字或长度小于8'''
  3. if password.isalpha() == True or password.isdigit() == True or password.isalnum() == True or len(password) < 8:
  4.     print('你的密码安全等级评定为:低')
  5. #'''判断密码是否不是纯字母和数字,用password.isalnum() == False代替密码有除字母数字外的特殊符号
  6. #因为不会用别的BIF来判断,所以无法确定特殊符号的种类,以及无法判断字母数字符号的组合数,所以中等密码和高等密码无法区分'''
  7. elif password.isalpha() == False and password.isdigit() == False and password.isalnum() == False and len(password) >= 16 and isinstance(password[0],str) == True:
  8.     print('你的密码安全等级评定为:高')
  9. elif password.isalpha() == False and password.isdigit() == False and password.isalnum() == False and len(password) >= 8:
  10.     print('你的密码安全等级评定为:中')
复制代码
最佳答案
2017-6-28 01:42:15
综合型密码你单存用内置bif来判断是没有意义的,最简单的办法就是用正则表达式来判断 简单粗暴 但是你应该没有学习到正则表达式 , 所以还是按部就班的来吧
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-6-28 01:42:15 | 显示全部楼层    本楼为最佳答案   
综合型密码你单存用内置bif来判断是没有意义的,最简单的办法就是用正则表达式来判断 简单粗暴 但是你应该没有学习到正则表达式 , 所以还是按部就班的来吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-28 08:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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