你怎么读循环?

时间:2015-01-27 15:40:01

标签: python loops if-statement for-loop while-loop

评估循环时的思考过程是什么?我真的不知道shell如何获得这些答案(A12B2C4,{{ 1}}:D)。

6

3 个答案:

答案 0 :(得分:3)

如果你把它分解,也许你可以更容易地阅读它:

A = 0

while A <= 10:
    A += 2
你能读到这个吗?你明白它是如何进入12的吗?

A, D = 0, 0

while A <= 10:
    A += 2
    D += 1

同样包括D也不应该让它变得更难。

你能自己阅读并理解if - 陈述吗?

if A%3 == 0:
    B += 1
else:
    C += 1

它何时进入循环?

A, B, C, D = 0, 0, 0, 0

while A <= 10:
    A += 2
    if A%3 == 0:
        B += 1
    else:
        C += 1
    D += 1

BC相关;其中只有一个在每次迭代中递增,因此它们应该与D相加,就像它们一样。

您现在阅读和理解这个问题了吗? :)

答案 1 :(得分:2)

其他答案都很好。我强烈建议您用笔和纸来处理事情,以确保您了解正在发生的事情。

在循环中使用print对于查看程序运行时发生的情况也很有用。

A,B,C,D = 0,0,0,0

while A <= 10:
    A += 2
    if A%3 == 0:
        B += 1
    else:
        C += 1
    D += 1
    print "A =", A, " B =", B, " C =", C, " D =", D

输出显示每次循环迭代结束时A, B, C, D的值。

A = 2  B = 0  C = 1  D = 1
A = 4  B = 0  C = 2  D = 2
A = 6  B = 1  C = 2  D = 3
A = 8  B = 1  C = 3  D = 4
A = 10  B = 1  C = 4  D = 5
A = 12  B = 2  C = 4  D = 6

你可以看到:

  • A每次循环迭代增加2
  • B增加1 IF A可被3整除,即A%3 == 0
  • C增加1 如果 A NOT 可被3
  • 整除
  • D每次循环迭代增加1

当谈到循环时,您可以将缩进代码的集合视为单个&#34; chunk&#34;每次重复循环时执行一次的代码。此代码块的正式术语是block。它也适用于if / else语句。

答案 2 :(得分:1)

while循环的主体将执行6次(A=0,2,4,6,8,10)。

  • 在每次迭代时,A增加2,因此在第一个语句之后 在循环中,它具有值2,4,6,8,10,12
  • B增加两倍(A=6A=12时);
  • 对于C的其余值,
  • A会加1。
  • D每次循环都会递增。

因此,在循环之后,A=12B=2C=4D=6