鱼C论坛

 找回密码
 立即注册
查看: 2606|回复: 5

[已解决]014密码安全检查问题

[复制链接]
发表于 2017-1-15 14:28:21 | 显示全部楼层 |阅读模式

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

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

x
symbals=r''':~!@#$%^&*()_=-|?/.,<>;[]{}|'''
number='0123456789'
alpha='qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM'


password = input("请输入需要检查的密码组合:")
lenth=len(password)
while (password.isspace()) or (lenth==0):
    password = input("您输入的密码为空")

if lenth<=8:
    lenth_rank=1
elif lenth<16:
    lenth_rank=2
else:
    lenth_rank=3


variety_rank=0
for each in password:
    if each in symbals:
        variety_rank+=1
        break


for each in password:
    if each in number:
        variety_rank+=1
        break

   
for each in password:
    if each in alpha:
        variety_rank+=1
        break

while 1:
    print("您的密码安全等级为:",end="")
    if lenth==2 and variety_rank==2:
        print("中")
    elif lenth==3 and variety_rank==3:
        print("高")
    else:
        print("低")
    break

print("""请按照以下方式提升您的密码安全级别:
        1.密码必须由数字、字母及特殊字符三种组合
            2. 密码只能由字母开头
            3. 密码长度不能低于16位""")




新人小白求问为什么我输入八位数以上包括数字和字母的也会显示低风险的呢?
最佳答案
2017-1-15 22:08:32
while 1:
    print("您的密码安全等级为:",end="")
    if lenth==2 and variety_rank==2:
        print("中")
    elif lenth==3 and variety_rank==3:
        print("高")
    else:
        print("低")
    break

其中的lenth应该改为lenth_rank
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-1-15 18:49:34 | 显示全部楼层
T T捞一把
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-1-15 20:18:22 | 显示全部楼层

回帖奖励 +5 鱼币

请问密码满足lenth==2 和 variety_rank==2吗,若其中一个不满足就会输入低,所以还是把and改成or的好
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-1-15 20:30:39 | 显示全部楼层
小茗同学 发表于 2017-1-15 20:18
请问密码满足lenth==2 和 variety_rank==2吗,若其中一个不满足就会输入低,所以还是把and改成or的好

是满足的啊T T

                               
登录/注册后可看大图

因为我想试着根据题干的意思让满足每个条件才能算中和高安全等级,但是发现反而一直都显示低级了T T
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-1-15 22:08:32 | 显示全部楼层    本楼为最佳答案   
while 1:
    print("您的密码安全等级为:",end="")
    if lenth==2 and variety_rank==2:
        print("中")
    elif lenth==3 and variety_rank==3:
        print("高")
    else:
        print("低")
    break

其中的lenth应该改为lenth_rank

评分

参与人数 1荣誉 +2 鱼币 +2 收起 理由
豌图酱 + 2 + 2

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2017-1-16 11:15:56 | 显示全部楼层
jsw2065 发表于 2017-1-15 22:08
while 1:
    print("您的密码安全等级为:",end="")
    if lenth==2 and variety_rank==2:

我竟然犯了这么低级的错误谢谢啦!!!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-25 00:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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