print语句执行的次数比预期的多

时间:2013-11-26 15:25:26

标签: python-3.x

k = 0
while k < 8:
    if k % 2 == 0:
        print('in da loop')
    k = k + 1

输出:

in da loop
in da loop
in da loop
in da loop

in da loop输出4次。 因为我认为in da loop应该只输出一次。 后续输出应该是: k = 0+1 = 1k=1 & greater than 0以来 应该没有进一步的输出。

2 个答案:

答案 0 :(得分:2)

像这样缩进

k = 0
while k < 8:
    if k % 2 == 0:
        print('in da loop')
    k = k + 1

如果将在“da loop”中打印四次,则k为0,2,4和6时。

像这样缩进:

k = 0
while k < 8:
    if k % 2 == 0:
        print('in da loop')
        k = k + 1

它会在“da loop”中打印一次,循环永远不会结束。

答案 1 :(得分:1)

对于这个python代码(空格在Python中很重要!):

k = 0
while k < 8:
    if k % 2 == 0:
        print('in da loop')
    k = k + 1

循环有八次迭代 这些数字中只有四个是偶数 所以print发生了四次。

对于此代码:

k = 0
while k < 8 and k % 2 == 0:
    print('in da loop')
    k = k + 1

print只会发生一次。如果您希望您的循环只打印一次,那么您还要将另一个检查放在while循环中。

就个人而言,如果您希望只有一个印刷品,我会将您的代码缩短为:

print('in da loop')