如果我的代碼Python的冗餘
i = 0
while i < N:
print("Hello")
i += 1
多少次將您好被打印出來? (假設N是定義的整數)
數目:
- Ñ
- N-1
- N + 1
- 大於N + 1
爲什麼?我從來沒有得到這個,所以我會很感激有人能解釋。
如果我的代碼Python的冗餘
i = 0
while i < N:
print("Hello")
i += 1
多少次將您好被打印出來? (假設N是定義的整數)
數目:
爲什麼?我從來沒有得到這個,所以我會很感激有人能解釋。
你好會打印出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
第三迭代 i = 2;
i
小於N (3)
print hello
i = i + 1; // i = 3
第四迭代 i = 3;
i
等於N (3)
中斷循環
解決這個問題的最好方法是手工處理N
的一些可管理值。舉例來說,如果N
爲2:
i == 0
和0 < 2
→打印"hello"
,增加i
i == 1
和1 < 2
→打印"hello"
,增加i
i == 2
和
2 < 2
while
-loop條件是不更長的滿意→循環結束因此對於N = 2
,"hello"
被打印2次。看到模式?
至於其他的答案中描述,這將打印N
倍,因爲它從0開始,進入到它只是在N之前,不等於N.
實際上,這在Python中是非常多餘的。更簡單的方法來做到這一點,使得它多一點可讀性(希望您更容易理解):
N=3
for x in range(0,N):
print "This is loop %d" % (x)
這個循環將從0 to N
,這真的只是N
倍的打印量。
它會被打印N次。我從0開始。如果我不小於N,你的條件要求循環退出。但是因爲你的索引從0開始,它將被正好打印N次。嘗試用變量i替換「Hello」。我認爲這會讓事情看得更清楚。 –
你是否試圖從理解while循環開始呢? – user4815162342
這很容易嘗試:http://ideone.com/N6SU1N –