Python 筆記——4 條件控制
上一章講了Python的資料型別及其用法,這一章來講解Python的條件控制。
1、if 條件
if條件應該是所有程式語言中最經典的控制條件,但在python中,可以使用elif作為else if 的縮寫。請注意:Python是一門強調縮排的語言,在if的條件後加入:表示這裡是執行語句的入口,然後下一行必須按TAB縮排,下面的elif必須與上面同級的if對齊。
>>> x = int(input("請輸入一個整數:")) 請輸入一個整數:11 >>> if x == 0: print(0) elif x > 0: print(x) else: print(-1) 11
那麼在python中的三元表示式怎麼寫呢?x if y else z,假若滿足條件y,則返回x,否則返回z。
>>> x = 1 >>> y = 2 >>> "123" if x > y else "321" '321'
2、for
python中的for與C#中的foreach 和 JAVA中的for有點相像。它能夠遍歷迭代器。下面我做了一個example,在py檔案的資料夾中新建一個txt檔案,裡面放好我要遍歷的文字。在py檔案中定義函式main,首先開啟test.txt,把所有行讀取出來,給x賦值,打印出來以後發現是一個列表。當我使用for 來遍歷x的時候,從x中讀取每一行賦值給line,print之。
def main(): fh = open('test.txt') x = fh.readlines() print x for line in x: print(line) if __name__ == "__main__" : main() ['1 hi\n', '2 hello\n', '3 hello world'] 1 hi 2 hello 3 hello world
3、while
while迴圈和其他語言沒有什麼區別,當while中的條件為true的時候執行,否則結束迴圈。
def main(): i,j= 1,0 while (i <= 100): j,i = j+i,i+1 print(j) if __name__ == "__main__" : main() 5050
4、enumerate函式
雖然這一節講的條件控制,但是是在介紹for的時候不得不說一下enumerate這個函式。每一次它會返回兩個值,第一個是index,第二個是值。
def main(): str = 'HelloWorld' for i,s in enumerate(str): if s == "o":print('index {} is {}'.format(i,s)) if __name__ == "__main__" : main() index 4 is o index 6 is o
5、break、continue、else
break表示跳出該迴圈,continent表示繼續執行下一步,而else則是在迴圈結束時自動呼叫。在下面的程式中,有一個叫做range的函式,它有三種模式。
range(x)、range(x,y)、range(x,y,z)。第一種是從0開始遍歷到x-1,第二種是從x開始遍歷到y-1,第三種是從x開始遍歷到y-1,但步長為z。
def main(): for x in range(1,10): for y in range(1,x): if y == 5: break else: print(x),'break' i = 0 for z in range(1,10): if (z % 2 == 0): continue else: print z,'continue' if __name__ == "__main__" : main() 1 break 2 break 3 break 4 break 5 break 1 continue 3 continue 5 continue 7 continue 9 continue
最近有點事,要研究新演算法,更新速度有點慢,內容也有點少,不過這些都是python比較基礎的東西,在我寫完預計的18-20章以後,再寫一些專案例項。