-6

如果我有代码

i = 0
while i < N:
    print("Hello")
    i += 1

Hello 会被打印多少次?(假设 N 是一个定义的整数)

答案:

  1. 0
  2. ñ
  3. N-1
  4. N+1
  5. 超过 N+1

为什么?我从来没有得到这个,所以我希望有人能解释一下。

4

3 回答 3

5

找出它的最好方法是手动检查一些可管理的N. 例如,如果N是 2:

  • i == 00 < 2→ 打印"hello",增量i
  • i == 11 < 2→ 打印"hello",增量i
  • i == 22 < 2while循环条件不再满足 → 循环结束

所以对于N = 2,"hello"被打印 2 次。看到图案了吗?

于 2013-07-06T20:48:24.153 回答
2

Hello 将被打印 N 次。假设 N 为 3。

第一次迭代 i = 0 i小于N

print hello
i = i + 1; // i = 1

第二次迭代 i = 1; i ` is less thanN (3)`

print hello
i = i + 1; // i = 2

第三次迭代 i = 2; i小于N (3)

print hello
i = i + 1; // i = 3

第 4 次迭代 i = 3; i等于N (3) 中断循环

于 2013-07-06T20:49:20.447 回答
2

正如其他答案所描述的,它会打印N时间,因为它从 0 开始,一直到它刚好在 N 之前,不等于 N。

但实际上,这在 Python 中是非常多余的。一种更简单的方法,使其更具可读性(希望您更容易理解):

N=3
for x in range(0,N):
    print "This is loop %d" % (x)

这个循环将从 打印0 to N,这实际上只是N次数。

于 2013-07-06T20:53:35.070 回答