机器学习小分队练习题
2017-06-02 17:23
956 查看
题目
编写一个函数,接收一个字符串作为参数,判断该字符串作为密码的话其安全强度如何。如果字符串中只包含大写字母、小写字母、数字字符或标点符号中的一种则为弱密码,包含两种为中低安全密码,包含三种为中高安全密码,包含四种则为强密码。
不许使用正则表达式哦
大家可以在群里讨论,或者直接把你的答案写在评论里哦
参考代码
编写一个函数,接收一个字符串作为参数,判断该字符串作为密码的话其安全强度如何。如果字符串中只包含大写字母、小写字母、数字字符或标点符号中的一种则为弱密码,包含两种为中低安全密码,包含三种为中高安全密码,包含四种则为强密码。
不许使用正则表达式哦
大家可以在群里讨论,或者直接把你的答案写在评论里哦
参考代码
import string def check(pwd): #密码必须至少包含6个字符 if not isinstance(pwd, str) or len(pwd)<6: return 'not suitable for password' #密码强度等级与包含字符种类的对应关系 d = {1:'weak', 2:'below middle', 3:'above middle', 4:'strong'} #分别用来标记pwd是否含有数字、小写字母、大写字母和指定的标点符号 r = [False] * 4 for ch in pwd: #是否包含数字 if not r[0] and ch in string.digits: r[0] = True #是否包含小写字母 elif not r[1] and ch in string.ascii_lowercase: r[1] = True #是否包含大写字母 elif not r[2] and ch in string.ascii_uppercase: r[2] = True #是否包含指定的标点符号 elif not r[3] and ch in ',.!;?<>': r[3] = True #统计包含的字符种类,返回密码强度 return d.get(r.count(True), 'error')
相关文章推荐
- 吴恩达机器学习练习题ex1
- 机器学习初步练习题
- 机器学习小分队资料共享
- 用tensorflow求解吴恩达的机器学习练习题(ex2)
- 《机器学习》练习题与解答
- 机器学习练习题(二)
- 用tensorflow求解吴恩达的机器学习练习题(ex1)
- 机器学习小分队资料共享
- 机器学习练习题
- 斯坦福大学Andrew Ng教授主讲的《机器学习》公开课观后感
- shell脚本练习题
- CS231n-机器学习中matplotlib绘图基础.md
- 周志华《机器学习》课后习题解答系列(六):Ch5.6 - BP算法改进
- 机器学习中的必修数学(三)
- 机器学习01-kNN邻近算法
- 机器学习笔记——Fisher vector coding
- Python机器学习数据挖掘工具sklearn安装和使用
- 机器学习实战之机器学习主要任务
- 机器学习——kNN(2)示例:改进约会网站的配对效果