|
发表于 2020-3-16 20:25:39
|
显示全部楼层
本楼为最佳答案
- #-*-coding:gbk-*-
- nums = '0123456789'
- chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
- symbols = r'''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>'''
- while True:
- passwd = input('请输入需要检查的密码组合:') . strip()
- length = len(passwd)
- if length > 0: # 实际键入密码才进行评分
- flag_len = 3 if length >= 16 else 2 if 8 <= length < 16 else 1 # 密码长度评分
- flag_con = 1 if sum([1 for x in passwd if x in nums]) > 0 else 0 # 密码构成评分:包含数字 = +1
- flag_con += 1 if sum([1 for x in passwd if x in chars]) > 0 else 0 # 密码构成评分:包含字母 = +1
- flag_con += 1 if sum([1 for x in passwd if x in symbols]) > 0 else 0 # 密码构成评分:包含特殊字符 = +1
- print()
- print('您的密码安全级别被评定为:' , end='')
- if passwd[0] . isalpha() and flag_len > 2 and flag_con > 2 :
- print('高')
- print('请继续保持')
- else:
- if flag_len > 1 and flag_con > 1:
- print('中')
- else:
- print('低')
- print('"请按以下方式提升您的密码安全级别:\n\
- \t1.密码必须由数字、字母及特殊字符三种组合\n\
- \t2.密码只能由字母开头\n\
- \t3.密码长度不低于16位')
- print()
- else: # 否则
- break # 键入空回车结束运行
复制代码 |
|