为同一层循环结构里,continue后面的代码不会执行?

for i in range (10):
if i %2 == 0:
continue
print (i)
print (random.random())

为什么print (i)放在if循环里,无论如何都不会被执行?

if的条件为真的时候,执行continue,跳过本次for循环进入下一个。
if条件为假的时候,if循环就不会执行,continue和print (i)都不会执行。

这样的话,是不是if continue在一起使用,continue后面的都不执行?

是的。只要执行了continue,就会跳过本次for循环进入下一个。 执行了continue之后循环中continue后面的代码就都不执行了。

print (i)放在if里,
if的条件为真的时候,执行continue,跳过本次for循环, print (i)也就跳过了
if条件为假的时候,if就不会执行,print (i)在if里也就不会执行。
只有continue 放在if内。print (i)放在if外。
才能在if条件为假的时候,执行print (i)

continue 这里你少缩进了一层
continue 要缩进到if语句块内


for i in range (10):
    if i %2 == 0:
        continue #这里你少缩进了一层
    print (i)
    print (random.random())


img

缩进是python语法中很重要的一部分,python不像C或java有花括号区分代码的层级关系,所以python对缩进要求非常严格,
你需要if的条件为真的时候,执行continue,就要把continue加一层缩进到if句块内