鱼C论坛

 找回密码
 立即注册
查看: 1334|回复: 16

[已解决]为什么我只要输入超过8位的密码就会报错

[复制链接]
发表于 2020-8-13 17:11:58 | 显示全部楼层 |阅读模式

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

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

x
如题
最佳答案
2020-8-13 17:18:44
本帖最后由 学习型motor 于 2020-8-13 17:20 编辑

你的逻辑出现问题了,怎么会有判断i是不是字母然后还判断是不是数字?
WechatIMG627.png
WechatIMG628.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-13 17:13:04 | 显示全部楼层
你的代码本身逻辑就有问题吧……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-13 17:13:43 | 显示全部楼层
if len(password) <8 
改成
if len(password) <=8
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-13 17:14:21 | 显示全部楼层
这个是code





password=input('请输入需要检查的密码组合')
num='1234567890'
chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
symbols = r'''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>'''

for i in password:
    if i in num or i in chars:
        if len(password) < 8:
            level=1



for i in password:
    if i in chars:
        if i in num:
            if i in symbols:
                if len (password)>=8 and len(password)<16:
                    level=2




for i in password:
    if i in chars:
        if i in num:
            if i in symbols:
                if len(password)>=16:
                    print('’‘你的密码安全级别评定为:高/t/n请继续保持''')
                    
if level==1:
    print(''' 您的密码安全级别评定为:低
请按以下方式提升您的密码安全级别:
1.密码必须由数字、字母及特殊字符三种组合
2.密码只能由字开头
3.密码长度不能低于16位''')

elif level==2:
    print(''' 您的密码安全级别评定为:中
请按以下方式提升您的密码安全级别:
1.密码必须由数字、字母及特殊字符三种组合
2.密码只能由字开头
3.密码长度不能低于16位''')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-13 17:16:44 | 显示全部楼层
你这什么神逻辑...if嵌套一起上面一个没满足就不会继续到下面了,导致level一直没被赋值,所以最后报错没有level这个变量,也就没办使用if判断了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-13 17:17:40 | 显示全部楼层

不行 还是level==1 not defined
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-13 17:18:13 | 显示全部楼层
神逻辑!!!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-13 17:18:30 | 显示全部楼层
zltzlt 发表于 2020-8-13 17:13
你的代码本身逻辑就有问题吧……

嗷呜 那我重新理一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-13 17:18:31 From FishC Mobile | 显示全部楼层
层层嵌套是非常不好的编程习惯
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-13 17:18:44 | 显示全部楼层    本楼为最佳答案   
本帖最后由 学习型motor 于 2020-8-13 17:20 编辑

你的逻辑出现问题了,怎么会有判断i是不是字母然后还判断是不是数字?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-13 17:19:48 | 显示全部楼层
字符怎么可能 既是数字又是字母还是符号?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-13 17:20:16 | 显示全部楼层
zltzlt 发表于 2020-8-13 17:13
你的代码本身逻辑就有问题吧……

能不能告知一下是哪里有问题。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-13 17:20:43 | 显示全部楼层
因为 你第二个for循环永远不会执行下去。。。。。
你password 不可能同时属于三种lst吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-13 17:22:31 | 显示全部楼层
rari 发表于 2020-8-13 17:20
能不能告知一下是哪里有问题。。

第二个for循环啊   这么写  哈哈哈哈  
你自己想通  就会觉得呆呆的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-13 17:24:08 | 显示全部楼层
学习型motor 发表于 2020-8-13 17:18
你的逻辑出现问题了,怎么会有判断i是不是字母然后还判断是不是数字?

ohohoh 明白了谢谢!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-13 17:24:45 | 显示全部楼层
zltzlt 发表于 2020-8-13 17:19
字符怎么可能 既是数字又是字母还是符号?

明白啦 谢谢!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-13 17:25:36 | 显示全部楼层
freeck2013 发表于 2020-8-13 17:20
因为 你第二个for循环永远不会执行下去。。。。。
你password 不可能同时属于三种lst吧

懂了懂了 谢谢!!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-19 11:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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