Python冗余

时间:2013-07-06 20:44:23

标签: python redundancy

如果我有代码

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

你好打印多少次? (假设N是定义的整数)

数目:

  1. 0
  2. Ñ
  3. N-1
  4. N + 1
  5. 超过N + 1
  6. 为什么?我从来没有得到这个,所以我很感激有人可以解释。

3 个答案:

答案 0 :(得分:5)

解决问题的最佳方法是手动完成N的几个可管理值。例如,如果N为2:

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

因此,对于N = 2"hello"会被打印2次。看模式?

答案 1 :(得分:2)

你好将打印N次。 假设N是3。

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

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

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

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

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

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

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

答案 2 :(得分:2)

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

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

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

此循环将从0 to N打印,实际上只有N次。