Python3基礎之條件與迴圈控制執行個體解析

來源:互聯網
上載者:User
本文執行個體形式講解了Python3的條件與迴圈控制語句及其用法,是學習Python所必須掌握的重要知識點,現共用給大家供大家參考。具體如下:

一般來說Python的流程式控制制語句包括:if條件陳述式、while迴圈語句、for迴圈語句、range函數以及break、continue、pass控制語句。這些語句在Python中的語義和在其他語言中基本是一樣的,所以這裡就只說它們的用法。

一、if語句

if語句是最常用的條件控制語句,Python中的一般形式為:

if 條件一: statementselif 條件二: statementselse: statements

Python中用elif代替了else if,所以if語句的關鍵字為:if – elif – else。

注意:

1、每個條件後面要使用冒號(:),表示接下來是滿足條件後要執行的語句塊。
2、使用縮排來劃分語句塊,相同縮排數的語句在一起組成一個語句塊。
3、在Python中沒有switch – case語句。

範例程式碼如下:

x = int(input("Please enter an integer: "))if x < 0: print('Negative.')elif x == 0: print('Zero.')else: print('Positive.')

二、while語句

Python中while語句的一般形式:

while 判斷條件:  statements

同樣需要注意冒號和縮排。另外,在Python中沒有do..while迴圈。

範例程式碼如下:

a, b = 0, 1while b < 10: # 迴圈輸出費伯納西數列 print(b) a, b = b, a+b

三、for語句

Python中的for語句與C語言中的for語句有點不同:C語言中的for語句允許使用者自訂迭代步驟和終止條件;而Python的for語句可以遍曆任何序列(sequence),按照元素在序列中的出現順序依次迭代。一般形式為:

for variable in sequence: statementselse: statements

範例程式碼如下:

words = ['cat','love','apple','python','friends']for item in words: print(item, len(item))

如果你需要在迴圈體內修改你正迭代的序列,你最好是製作一個副本,這時切片標記就非常有用了:

words = ['cat','love','apple','python','friends']for item in words[:]:  # 製作整個列表的切片副本 if len(item) >= 6: words.insert(0, item)print(words)

我們注意到迴圈語句中還可以使用else子句,下面第五點有講到。

四、range函數

如果你要遍曆一個數字序列,那麼內建的range()函數就可以派上用場了。函數range()常用於for迴圈中,用於產生一個算術數列:

>>> list(range(10))  # 預設從0開始[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>> list(range(1, 11)) # 從1到11,前閉後開[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]>>> list(range(0, 30, 5)) # 5表示步長,每隔5取一個數[0, 5, 10, 15, 20, 25]

範例程式碼如下:

for i in range(2, 11): print(i)

五、break、continue、pass及else子句

①.break

break語句與C語言中的一樣,跳出最近的for或while迴圈。

②.continue

continue語句同樣是從 C 語言借用的, 它終止當前迭代而進行迴圈的下一次迭代。

③.pass

pass語句什麼都不做,它只在文法上需要一條語句但程式不需要任何操作時使用。pass語句是為了保持程式結構的完整性。

④.else子句

在迴圈語句中還可以使用else子句,else子句在序列遍曆結束(for語句)或迴圈條件為假(while語句)時執行,但迴圈被break終止時不執行。如下所示:

# 迴圈結束執行else子句for i in range(2, 11): print(i)else: print('for statement is over.')# 被break終止時不會執行else子句for i in range(5): if(i == 4): break; else: print(i)else: print('for statement is over') # 不會輸出
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.