程序的输出不是我期望的。谁能解释为什么continue语句不直接指向90?
for num in 23, 45, 50, 65, 76, 90:
if(num%5!=0):
continue
if(num%10==0):
print(num, end=" ")
continue
if(num%3==0):
print(num, end=" ")
输出:
45 50 90
我认为应该是:
45 50 90 90
答案 0 :(得分:2)
似乎您理解continue
的意思是“继续执行循环主体的其余部分”。相反,它的意思是“继续循环控制序列中的下一个值”。因此,在“继续”处,循环退出,因为90
之后没有任何内容。 (否则,它将直接移至下一个数字,因此90不会再次打印两次。)
答案 1 :(得分:0)
尝试删除continue
和前一个if
:
for num in 23, 45, 50, 65, 76, 90:
if (num%10==0):
print(num, end=" ")
if (num%3==0):
print(num, end=" ")
输出:
45 50 90 90
这是行不通的,因为continue
跳过了其余代码,并移至循环中的下一个元素,如docs中所述:
continue语句(也是从C借用的)继续循环的下一次迭代: