寫在之前
大家好,這裡是零基礎學習 Python 系列,在這裡我將從最基本的Python 寫起,然後再慢慢涉及到高階以及具體應用方面。我是完全自學的 Python,所以很是明白自學對於一個人的考驗,所以在這裡我會盡我最大的努力,把 Python 儘可能簡單的表述清楚,讓更多想要學習 Python 的朋友能夠入門。同時寫這個教程也算是對自己之前所學知識的一個鞏固和提高,喜歡的朋友們可以點個關注,有問題歡迎隨時和我交流。本文所有的代碼編寫均是Python3 版本。
使用 while 進行循環
while 是 Python 中最簡單的循環機制,翻譯成中文是 「當…的時候」,這個條件成立在一段範圍或時間間隔內,從而在這段時間間隔內讓 Python 做好多事情。我們用個例子來演示一下:
>>> cnt = 1>>> while cnt <= 5:... print(cnt)... cnt += 1... 12345
上面的例子執行的是從 1 列印到 5 的簡單循環。首先是將變量 cnt 的值賦為 1, while 循環比較 cnt 的值和 5 的大小關係,如果 cnt 小於等於 5 的話繼續執行。在循環的內部列印 cnt 的值,然後使用 cnt += 1 對 cnt 進行自增操作,返回到循環的開始位置,繼續比較 cnt 和 5 的大小關係。現在 cnt 變量的值為 2,因此 while 循環內部的代碼會被再次執行,cnt 的值會變為 3,在 cnt 從 5 自增到 6 之前一直進行,然後下次判斷時, cnt 小於等於 5 的條件不滿足,while 循環結束,Python 跳到循環下面的代碼。
使用 break 跳出循環
如果你想讓循環在某一條件下停止,但是不確定在哪次循環跳出,可以在無限循環中聲明 break 語句,其含義就是要在這個地方終端循環,跳出循環體。下面用個例子簡要說明一下:
>>> a = 6>>> while a:... if a % 2 ==0:... break... else:... print("{} is odd number".format(a))... a -= 1... >>> print("{} is even number".format(a))
a = 6 的時候,執行循環體中的 break,跳出循環,執行最後的列印語句,得到結果:
6is even number
如果 a = 7 則要執行 else 裡面的 print() ,然後 a -= 1,即 a = a - 1 = 6,循環就又再執行一次,又 break 了,得到結果:
7is odd number6is even number
使用 continue 跳到循環開始
有時候我們不想結束整個循環,僅僅想跳到下一輪循環的開始,這時候就輪到 continue 善良登場了。continue 是從當前位置跳到循環體的最後一行的後面,並不執行最後一行。請看下面的例子:
>>> a = 7>>> while a:... if a % 2 == 0:... a -= 1... continue... else:... print("{} is odd number".format(a))... a -= 1...
上面的例子,如果是偶數,就返回循環的開始;如果是奇數,就列印出來。
7is odd number5is odd number3is odd number1is odd number
其實,無論是 break 還是 continue,能少用儘量少用,儘量將條件什麼的在循環之前就做好,不要在循環裡跳來跳去的,這樣不僅代碼的可讀性變差,有時候自己也容易蒙圈。
while...else
如果 while 循環沒有使用 break 跳出,即 while 循環正常結束,程序將進入到可選的 else 段。while...else 有點類似於 if...else,這裡需要知道的是一遇到 else,就意味著已經不在 while 循環內。請看下面的例子:
>>> cnt = 0>>> while cnt < 3:... print(cnt,' is less than 3')... cnt += 1... else:... print(cnt,' is not less than 3')...
上述代碼的執行結果如下:
0is less than 31is less than 32is less than 33isnot less than 3
是不是看了例子覺得很容易呢?循環的東西就這麼多,至於它的大用處我會在之後的文章中寫,敬請期待。
寫在最後