|
发表于 2020-5-26 16:18:17
|
显示全部楼层
本帖最后由 xiaosi4081 于 2020-5-26 16:21 编辑
原先的代码:
- symbols = r'''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>'''
- chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
- nums = '0123456789'
- password = input('请输入需要检查的密码组合:')
- #先判断密码长度
- length = len(password)
- while (password.isspace() or length == 0):
- password = input('您输入密码为空(或空格),请重新输入:')
- length = len(password) #这里while下为什么还需要len()一次,上面不是已经有了吗,是必要的吗?必要的,因为你上面重新赋值了
- if length <= 8:
- flag_len = 1
- elif 8 < length <16:
- flag_len = 2
- else:
- flag_len = 3
- flag_con = 0 #这是对什么的初始化值对呀?
- #判断是否包含特殊字符
- for each in password:
- if each in symbols:
- flag_con += 1
- break
- #判断是否包含字母
- for each in password:
- if each in chars:
- flag_con += 1
- break
- #判断是否包含数字
- for each in password:
- if each in nums:
- flag_con +=1
- break
- while 1: #这是啥意思,能不能理解为while True?可以
- print ('您的密码安全级别评定为:',end=' ')
- if flag_len == 1 or flag_con == 1:
- print ('低')
- elif flag_len == 3 and flag_con == 3 and (password[0] in chars):
-
- #这里flag_con之所以能等于3是因为上面3个判断条件都满足if了,从0加了3次,是吗?
- print ('高')
- print ('请继续保持')
- break
- else:
- print ('中')
- print ("请按以下方式提升您的密码安全级别:\n\
- \t1. 密码必须由数字、字母及特殊字符三种组合\n\
- \t2. 密码只能由字母开头\n\
- \t3. 密码长度不能低于16位")
- break
复制代码 |
|