一个使用continue时出现的小问题

def countBases(fastq):
    n = 0
    bases = 0
    with open(fastq, 'r') as f:
        for line in f:
            if (n-1) % 4 == 0:
                bases += len(line.strip())
                #print(line)
            else:
                pass
               #continue
            n += 1
    return bases,n


if __name__ == '__main__':
    res,n=countBases(r'C:\Users\sxuan\Desktop\fastq.fq')
    print(res,n)

代码如上,else下面是pass或者没有else的时候代码都能正常运行,但是把pass换成continue后运行结果为0,0,请问这是为什么?谢谢
文件内容如下,格式是四行一个循环,我的代码就是对每个循环的第二行字符个数进行计数
clipboard.png

阅读 3.1k
2 个回答

因为运行了continue是继续去执行下一次循环,并没有执行n+=1这行代码

continue直接跳过了for内后面的代码,导致n一直是0,所以每一次执行的时候都是执行else,然后continue。。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题