鱼C论坛

 找回密码
 立即注册
查看: 1330|回复: 4

[已解决]14讲,字符串,怎么在情况二的第一个elif处会报错

[复制链接]
发表于 2020-3-18 18:17:10 | 显示全部楼层 |阅读模式

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

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

x
#请写一个密码安全性检查的代码代码
# 密码安全性检查代码

# 低级密码要求:
#   1. 密码由单纯的数字或字母组成
#   2. 密码长度小于等于8位
#
# 中级密码要求:
#   1. 密码必须由数字、字母或特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)任意两种组合
#   2. 密码长度不能低于8位
#
# 高级密码要求:
#   1. 密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)三种组合
#   2. 密码只能由字母开头
#   3. 密码长度不能低于16位

secreat=input('enter a code:')
firt_condition=len(secreat)
special='~!@#$%^&*()_=-/,.?<>;:[]{}|\\'

#情况一
if secreat.isdigit() or secreat.isalpha() or firt_condition<=8 :
    print('低级密码')

#情况二
elif:
    number_1,char_1,other_1=0,0,0
    for location in range(len(secreat)):
        secreat_new=secreat[location]    #创建新的列表来装一个字符,一个字符一个字符的检验
        if secreat_new.isalpha():        #判断是不是字母
           char_1+=1
        elif secreat_new.isdigit():      #判断是不是数字  
             number_1+=1
        elif:
           for i in range(len(special)) : #判断是不是规定字符  
              if secreat_new==special[i]:
                 other_1+=1
    if number_1!=0 and char_1!=0 and other_1>=2  and firt_condition>8 :
       print('中级密码')

#情况三
elif:
    number_2,char_2,other_2=0,0,0
    for location in range(len(secreat)):
        secreat_new=secreat[location]    #创建新的列表来装一个字符,一个字符一个字符的检验
        if secreat_new.isalpha():        #判断是不是字母
           char_2+=1
        elif secreat_new.isdigit():      #判断是不是数字  
             number_2+=1
        elif:
           for i in range(len(special)) : #判断是不是规定字符  
              if secreat_new==special[i]:
                 other_2+=1
    if number_2!=0 and char_2!=0 and other_2>=3 and firt_condition>16 and secreat[0].isalpha( ) :
       print('高级密码')
   
最佳答案
2020-3-18 18:19:00
你的elif没有写条件啊
elif相当于 else if 后面需要写if的条件的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-18 18:19:00 | 显示全部楼层    本楼为最佳答案   
你的elif没有写条件啊
elif相当于 else if 后面需要写if的条件的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-18 18:24:21 | 显示全部楼层
1,elif需要写条件,不然就用else
2,上面的if冒号用了中文的吧?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-18 21:43:36 | 显示全部楼层
sunrise085 发表于 2020-3-18 18:19
你的elif没有写条件啊
elif相当于 else if 后面需要写if的条件的。

谢谢,原来是弄错了他的用法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-18 21:44:07 | 显示全部楼层
qiuyouzhi 发表于 2020-3-18 18:24
1,elif需要写条件,不然就用else
2,上面的if冒号用了中文的吧?

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-25 02:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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