鱼C论坛

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

找密码

[复制链接]
发表于 2018-10-22 14:24:00 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 康小泡 于 2018-10-22 16:05 编辑
str1 = '''拷贝过来的字符串'''
countA = 0 #前面三个大写的计数
countB = 0 #前面有三个大写,后面一个是小写,就置countB = 1,实际上应该用一个布尔量更清楚
countC = 0 #前面两个条件都满足,又找到大写的计数,如果 countC == 3 说明找到一个密码字母
length = len(str1)
for i in range(length):
    if str1[i] == '\n': #防止换行对判断的干扰
        continue
    if str1[i].isupper(): #如果找到的是大写
        if countB == 1: #并且前面两个条件已经满足
            countC += 1 #计数第三个条件
            countA = 0
        else:
            countA += 1 #前面两个条件不满足后又找到大写,计数第一个条件
        continue
    if str1[i].islower() and countA == 3: #找到小写且第一个条件满足,即满足前两个条件
        countB = 1
        countA = 0
        target = i #可能是密码字母,暂存下
        continue
    if str1[i].islower() and countC == 3: #如果找到小写,并且前面三个条件都满足,说明暂存的就是密码字母
        print(str1[target], end='')
    countA = 0
    countB = 0
    countC = 0
请问一下  这里面的continue,target里面最后不是应该只保存最后一个满足条件的i 吗,怎么把所有的符合条件都输出的?continue这个语句在这里面搞不明白了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-10-22 14:32:42 | 显示全部楼层
你这里好多该是str1[i]的就写了str1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-22 14:46:02 | 显示全部楼层
塔利班 发表于 2018-10-22 14:32
你这里好多该是str1的就写了str1

哦哦  不好意思 直接复制过来的   前面应该都是对str1[i]判断其大小写   但是可以解释一下其中  continue作用嘛
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-22 14:51:08 | 显示全部楼层
comtinue意义在于满足条件后执行continue直接进入下次循环,避免执行底部的计数置零
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-22 14:51:12 | 显示全部楼层
首先就是错误的,,就不太好说了
第一个continue是判断字符大写就给跳过进行下一个循环

第二个放在那里有点不明所以,因为没写正确,姑且猜测是当前是小写而且前面是3个大写字母了,我再看下面3个是不是大写就完了,本次小写字母的循环不用往下进行了,因此continue
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-6 23:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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