for迴圈 與 while迴圈
阿新 • • 發佈:2019-02-03
- (1)一定要注意退出迴圈時,一些變數的值的變化情況,尤其是內部含有自加自減等操作;
通過本文,我們是否可以得出 while
迴圈比 for
迴圈更自由的結論?也即 for
迴圈能做的事,while
迴圈都可做,但while
迴圈能做的事,for
迴圈未必能做。
Python 語言對
for
迴圈的支援其實是不如 C 語言的,Python 中的for
迴圈,更多的是遍歷,而無判斷的意味,而while
迴圈天然的是判斷;
while
迴圈天然的具有判斷邏輯,for
迴圈需在迴圈內部新增判斷邏輯,不滿足則break
;while
迴圈對迴圈變數的更新放在迴圈的內部,可自行指定,而for
二者的區別可通過一個例項進行集中體現:
# 歸併兩個已排序的數列
def merge(l1, l2):
l3 = []
i, j = 0, 0
n1, n2 = len(l1), len(l2)
while i < n1 and j < n2:
if l1[i] <= l2[j]:
l3.append(l1[i])
i += 1
else:
l3.append(l2[j])
j += 1
if i < j:
l3.extend(l1[i:])
else:
l3.extend(l2[j:])
return l3
1. 形式上稍微有些古怪的 for 迴圈
static int NextPrime(int N) {
if (N % 2 == 0) ++N;
int i;
for (; ; N += 2)
}
更為重要的是,對於一個 for 迴圈而言,甚至沒有指定迴圈退出的條件,就好比:while (true)
;