Python中的條件判斷語句與迴圈語句用法小結

來源:互聯網
上載者:User
if語句

>>通用格式
if語句一般形式如下:

if : elif : else: 

另外需要注意的是,Python中是沒有switch/case語句的


while迴圈

while語句是Python語言中最通用的迭代結構,簡而言之,只要頂端測試一直計算到真值,就會重複執行一個語句塊。

>>一般格式

while : else: >>break,continue,pass和迴圈else

break

跳出最近所在的迴圈(跳過整個迴圈語句)。

continue

跳到最近所在迴圈的開頭處(來到迴圈的首行)。

pass

什麼事也不做,只是空預留位置語句。

迴圈else塊

只有當前迴圈正常離開時才會執行(也就是沒有碰到break語句)

>>一般迴圈格式
加入break和continue語句後,while的一般格式變為:

while :  if :break if :continueelse: >>pass

pass語句是無運算的預留位置,當文法需要語句並且還沒有任何實用的語句可寫時,就可以使用它。

>>迴圈else
在while語句中加入else和C/C++中的文法不太一樣,這裡詳細說明一下。else後面的代碼只有當迴圈正常結束時才會執行,如果是用break跳出迴圈的,這部分代碼就不會運行,具體看一個求質數的例子:

x = y // 2while x > 1: if y % x == 0:  print(y,'has factor',x)  break x -= 1else: print(y,'is prime')

再看一個對比的例子,沒有使用else的情況:

found=Falsewhile x and not found: if (matchx[0]):  print('Ni')  found=True else:  x=x[1:]if not found: print('not found')使用else後的情況:while x: if (match(x[0])):  print('Ni')  breakelse: print('not found')

for迴圈

for迴圈在Python中是一個通用的序列迭代器:可以遍曆任何有序的序列對象內元素。for語句可以用於字串、列表、元組、其他內建可迭代對象。

>>一般格式

for  in : else: 

此處的else的作用和while語句中的一樣。另外需要注意的是,當Python運行for迴圈時,會逐個將序列對象中的元素賦值給目標,然後為每個元素執行迴圈體。

編寫迴圈的技巧

內建range函數:返回一系列連續增加的整數,可作為for中的索引
內建zip函數:返回並行元素的元組的列表,可用於在for中遍曆數個數列
>>迴圈計數器:while和range
range

當range函數只有一個參數時,會返回從零算起的整數列表,但其中不包括該參數的值。如果傳進兩個參數,那第一個參數是上邊界,第二個參數是下邊界。如果傳進三個參數時,第三個參數表示步進值。

range提供了一種簡單的方法,重複特定次數的動作:

for i in range(5): print(i,'Pythons')

相應的C++代碼則是:

int i;for(i = 0;i < 5;++i){ std::cout<

>>並行遍曆:zip和map
zip會取得一個或多個序列為參數,然後返回元組的列表,將這些序列中的並排的元素配成對。

L1=[1,2,3,4]L2=[5,6,7,8]list(zip(L1,L2))

上述代碼的執行結果是:

[(1,5),(2,6),(3,7),(4,8)]

當參數的長度不同時,zip會以最短序列的長度為準來截斷所得到的元組。

使用zip構造字典:

keys=['spam','eggs','totast']values=[1,2,5]D = dict(zip(keys,values))

>>產生位移和元素:enumerate
enumerate函數一個比較新的內建函數,它能同時返回元素值和位移值:

s='spam'for (offset,item) in enumerate(s): print(item,'appears at offset',offset)
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.