鱼C论坛

 找回密码
 立即注册
查看: 1222|回复: 2

[已解决]关于密码强度判断的那个问题

[复制链接]
发表于 2018-3-31 11:44:16 | 显示全部楼层 |阅读模式

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

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

x
teshuzifu = '~!@#$%^&*()_=-,.?<>;:[]{}|'
shuzi = '0123456789'
zimu = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
password = input('请输入密码:')
length = len(password)
while (password.isspace()) or (length == 0):
    password = input("密码不得为空,请重新输入:")
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 shuzi:
        flag_con += 1
        break
for each in password:
    if each in zimu:
        flag_con += 1
        break
for each in password:
    if each in teshuzifu:
        flag_con += 1
        break
if flag_len ==1 or flag_con == 1:
    print("密码强度弱")
elif flag_len == 2 or flag_con == 2:
    print("密码强度中")
elif flag_len == 3 or flag_con == 3:
    print("密码强度高")
  代码我是一边看一遍学着写的,对当中几个for循环里面的break不是特别理解,如果break去除掉的话,我试过打一串16位的数字会显示密码强度高,家里break后就是显示低,这个是为什么呢,密码而且长度和复杂度是or的逻辑,如果长度很长已经达到3级别,复杂度是1,究竟是算弱还是高?最后的几个if都是or的逻辑只要满足一个就行了吧,有大神能指点下迷津不?
最佳答案
2018-3-31 16:13:26
不加break就会在自加1后继续for循环,不断自加1,加了break就会在自加1后,跳出循环,继续执行后续代码了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-3-31 11:55:18 | 显示全部楼层
break跳出当前循环,其他的自己看吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-31 16:13:26 | 显示全部楼层    本楼为最佳答案   
不加break就会在自加1后继续for循环,不断自加1,加了break就会在自加1后,跳出循环,继续执行后续代码了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-10 00:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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