講解
和 for 循環不同的另一種循環是 while 循環,while 循環不會迭代 list 或 tuple 的元素,而是根據表達式判斷循環是否結束。
比如要從 0 開始打印不大於 N 的整數:
N = 10
x = 0
while x < N:
print x
x = x + 1
while循環每次先判斷 x < N,如果爲True,則執行循環體的代碼塊,否則,退出循環。
在循環體內,x = x + 1 會讓 x 不斷增加,最終因爲 x < N 不成立而退出循環。
如果沒有這一個語句,while循環在判斷 x < N 時總是爲True,就會無限循環下去,變成死循環,所以要特別留意while循環的退出條件。
同樣需要注意冒號和縮進。另外,在 Python 中沒有 do..while 循環。
while無限循環
我們可以通過設置條件表達式永遠不爲 false 來實現無限循環,實例如下:
#!/usr/bin/python3
var = 1
while var == 1 : # 表達式永遠爲 true
num = int(input("輸入一個數字 :"))
print ("你輸入的數字是: ", num)
print ("Good bye!")
執行以上腳本,輸出結果如下:
輸入一個數字 :5 你輸入的數字是: 5 輸入一個數字 :
你可以使用 CTRL+C 來退出當前的無限循環。
無限循環在服務器上客戶端的實時請求非常有用
while 循環使用 else 語句
在 while … else 在條件語句爲 false 時執行 else 的語句塊。
語法格式如下:
while <expr>:
<statement(s)>
else:
<additional_statement(s)>
任務
利用while循環計算100以內奇數的和
代碼
sum = 0
x = 1
while x<100:
sum+=x
x+=2
print sum
本文部分摘自慕課《初識Python》課程、菜鳥教程《Python 3 教程 》