Python 中,while 循環和 if 條件分支語句相似,即在條件(表達式)爲真的狀況下,會執行相應的代碼塊。不一樣之處在於,只要條件爲真,while 就會一直重複執行那段代碼塊。
while 語句的語法格式以下:python
while 條件表達式:
代碼塊網絡
這裏的代碼塊,指的是縮進格式相同的多行代碼,不過在循環結構中,它又稱爲循環體。
while 語句執行的具體流程爲:首先判斷條件表達式的值,其值爲真(True)時,則執行代碼塊中的語句,當執行完畢後,再回過頭來從新判斷條件表達式的值是否爲真,若仍爲真,則繼續從新執行代碼塊...如此循環,直到條件表達式的值爲假(False),才終止循環。
while 循環結構的執行流程如圖所示。學習
例如,打印 1~100 的全部數字,就可使用 while 循環,實現代碼以下:spa
# 循環的初始化條件 num = 1 # 當 num 小於100時,會一直執行循環體 while num < 100 : print("num=", num) # 迭代語句 num += 1 print("循環結束!")
運行程序會發現,程序只輸出了 1~99,卻沒有輸出 100。這是由於,當循環至 num 的值爲 100 時,此時條件表達式爲假(100<100),固然就不會再去執行代碼塊中的語句,所以不會輸出 100。
注意,在使用 while 循環時,必定要保證循環條件有變成假的時候,不然這個循環將成爲一個死循環。所謂死循環,指的是沒法結束循環的循環結構,例如將上面 while 循環中的num += 1
代碼註釋掉,再運行程序你會發現,Python 解釋器一直在輸出"num= 1",永遠不會結束(由於 num<100 一直爲 True),除非咱們強制關閉解釋器。
再次強調,只要位於 while 循環體中的代碼,其必須使用相同的縮進格式(一般縮進 4 個空格),不然 Python 解釋器會報 SyntaxError 錯誤(語法錯誤)。例如,將上面程序中num+=1
語句前移一個空格,再次執行該程序,此時 Python 解釋器就會報 SyntaxError 錯誤。
除此以外,while 循環還經常使用來遍歷列表、元組和字符串,由於它們都支持經過下標索引獲取指定位置的元素。例如,下面程序演示瞭如何使用 while 循環遍歷一個字符串變量:code
my_char="hello world" i = 0; while i<len(my_char): print(my_char[i],end="") i = i + 1
程序執行結果爲:視頻
hello worldblog
這裏免費送你們一套2020最新python入門到高級項目實戰視頻教程,點擊這裏便可領取!或者加入博主Python交流圈(QQ羣:1049600759)免費下載。教程
本文的文字及圖片來源於網絡加上本身的想法,僅供學習、交流使用,不具備任何商業用途,版權歸原做者全部,若有問題請及時聯繫咱們以做處理。索引