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