Python3學習筆記 | 十五、Python的語句與語法-while語句與for語句
- 2019 年 10 月 6 日
- 筆記
一、while 語句
1、簡介
在Python里,while語句是最常見的循環語句。先看一下while語句的一般格式:
while <test1>: <statement1> else: <statement2>
只要測試語句為真,會一直循環。當test1為假的時候會運行else語句里的內容。 從這裡,退出循環的方法有:
1、在里的語句更改的結果為False
2、在里的語句里增加break語句來跳出循環
3、在里的語句里增加exit()來退出Python,這種方法將退出整個Python程式。
2、while循環例子
死循環:
while True: print 'Please type "Control" + "C" to stop this'
這個循環會在你螢幕上一直列印重複的語句,使用Control +C的組合鍵可以退出。
>>> a = 0 ; b = 7 >>> while a < b : ... print(a,end=' ') ... a += 1 ... 0 1 2 3 4 5 6 >>>
二、break, continue語句
break語句是用來退出最近所在的for語句或while語句。
continue語句是用來跳到最近所在的for語句或者while語句的結尾。
>>> a = 0 ; b = 7 >>> while a < b : ... a += 1 ... if a == 3 : continue ... if a == 6 : break ... print(a,end=' ') ... 1 2 4 5 >>>
三、pass 語句
之前講過,pass語句是佔位的空語句。因為有些時候(測試時)需要寫框架,但裡面沒有具體語句,但需要正常運行的時候,就需要設置空語句(pass)來代替。
>>> if 1 : ... print('DoraEmon') ... else : ... File "<stdin>", line 4^ IndentationError: expected an indented block
在這個時候我們需要一個pass來替代else自語句里的空。
>>> if 1 : ... print('DoraEmon') ... else : ... pass ... DoraEmon
四、else 語句
else語句,只有在for語句和while語句正常結束後,會運行:
>>> a = 0 ; b = 7 >>> while a < b : ... print(a,end = ' ') ... a += 1 ... else : ... print('DoraEmon') ... 0 1 2 3 4 5 6 DoraEmon
但中間有break的時候,就不會執行else
>>> while True : ... print('Dora') ... break ... else : ... print('Emon') ... Dora
else語句能幫助你在語句正常執行時插一句。
五、for 語句
1、簡介
for語句在Python里是一個通用的序列迭代器:可以遍歷任何有序的序列對象內的元素。可用於字元串、列表、元祖、其它內置可迭代對象以及之後我們能夠通過類所創建的新對象。 一般格式:
for <target> in <object>: <statements> else: <statements>
在這裡object 需是可迭代的對象。每次從object里提取一個元素賦給target,之後循環之行statements里的語句。
2、for循環用法
使用for循環時,其它開發語言(比如C)會使用一個變數,定義起始,結束,遞增值。但Python里只能做迭代。這個時候可以使用range函數來代替。
range函數格式: range([起始值],結束值,[遞增值])
在這裡,起始值默認是0,遞增值默認為1。C語言里for(i=0,i<7,i++)可以寫成 for i in range(0,7,1)。因為起始的0與遞增值1可以省略,可以寫成for i in range(7)。
>>> for i in range(7) : ... print(i,end = ' ') ... 0 1 2 3 4 5 6 >>>
迭代後的元素為固定長度的元祖、列表的時候:
>>> for a,b,c in [(1,2,3),(4,5,6),(7,8,9)] : ... print(a,b,c) ... 1 2 34 5 67 8 9
嵌套循環(不一定是固定長度):
>>> for i in [(1,2,3),(4,5,6),(7,8,9)] : ... for j in i : ... print(j,end = ' ') ... print() #起到換行作用 ... 1 2 3 4 5 6 7 8 9