|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
# 密码安全性检查代码
#
# 低级密码要求:
# 1. 密码由单纯的数字或字母组成
# 2. 密码长度小于等于8位
#
# 中级密码要求:
# 1. 密码必须由数字、字母或特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)任意两种组合
# 2. 密码长度不能低于8位
#
# 高级密码要求:
# 1. 密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)三种组合
# 2. 密码只能由字母开头
# 3. 密码长度不能低于16位
connt = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
num = '0123456789'
chara = r'''~!@#$%^&*()_=-/,.?<>;:[]{}|\)'''
passwd = input('请输入要验证的密码:')
lenght = len(passwd)
while (passwd.isspace() or lenght == 0 ):
passwd = input('输入为空格,或者输入为0,请重新输入:')
lenght = len(passwd)
falg_len = 0
if lenght <= 8:
falg_len = 1
elif 8 < lenght < 16:
falg_len = 2
else:
falg_len = 3
falg_con = 0
for each in passwd:
if each in chara:
falg_con += 1
break
for each in passwd:
if each in num:
falg_con += 1
break
for each in passwd:
if each in connt:
falg_con += 1
break
while 1:
print('你的密码安全评级为:',end=' ')
if falg_con == 1 or falg_len == 1:
print('低')
elif falg_con == 3 and (passwd[0] in connt) and falg_len == 3:
print('高')
print('请继续保持')
break
else:
print('中')
print('请按以下方法提升你的密码安全级别:\n\
\t1.密码必须由数字、字母及特殊字符三种组合\n\
\t2.密码只能由字母开头\n\
\t3.密码长度不能低于16位')
break
在最后一段中,我把break位置 和判断高的可以 摆在了第一个if的条件,
while 1:
print('你的密码安全评级为:',end=' ')
if falg_con == 3 and (passwd[0] in connt) and falg_len == 3:
print('高')
print('请继续保持')
break
elif falg_con == 1 or falg_len == 1:
print('低')
else:
print('中')
请问这样会影响到程序的正常走向吗,自己试了几次 好像没有试出来区别,
如果有区别的话 请大佬们说说,改了会发生什么样的逻辑区别。
如果没有区别的话,是为什么呢
几乎没区别,有点区别的是先经过哪个判断,类似于树形结构
|
|