初学__Python——Python的流程控制语句 if、for、while
目錄
一、分支結構:if 語句
二、循環結構:for 語句
break 和 continue
三、循環語句:while 語句
通常情況下,Python腳本總是按照順序執行的。不過,對于一些復雜的程序,可能需要根據執行過程中出現的不同情況選擇性地執行一部分語句,或重復執行某一部分語句,這時,就需要使用Python的流程控制語句。
Python腳本中的流程控制語句控制著腳本的執行流程,根據一定的條件來執行腳本中不同的語句,以完成不同的功能。
一、分支結構:if 語句
if 語句是基本的條件測試語句,用來判斷可能遇到的不同情況,并針對不同的情況選擇執行某一部分語句。if 語句的基本形式如下:
if <條件>: # 當條件為真時,執行縮進的語句;當條件為假時,判斷 elif 的條件<語句> # 用縮進來表示語句處于 if 語句之中 elif <條件>: # 當條件為真時,執行縮進的語句;當條件為假時,執行 else 語句<語句> else <條件>: # 若前邊所有的條件都為假,則執行下面的縮進語句<語句>注:在條件語句中,主要使用下表所示的幾種比較運算符
| a == b | a 與 b 是否相等,是則返回真,否則返回假 |
| a != b | a 是否不等于 b ,是則返回真,否則返回假 |
| a > b | a 是否大于 b ,是則返回真,否則返回假 |
| a >= b | a 是否大于等于 b ,是則返回真,否則返回假 |
| a < b | a 是否小于 b ,是則返回真,否則返回假 |
| a <= b | a 是否小于等于 b ,是則返回真,否則返回假 |
以上幾種比較運算符可以用于對數字、字符串、列表、元組以及字典等的比較。除了上述的比較運算符外,在條件中也可以使用邏輯運算及其他的語句。
a = 1 b = 2 if a == b:print('true-1') else:print('false-1') if a < b:print('true-2') else:print('false-2')m = 'hi' n = 'hello' if m == n: # 此處為字符串比較print('true-3') elif m > n:print('false-3') else:print(m, n)l1 = [1, 2] l2 = [3, 4] if l1 == l2: # 此處為列表比較,只包含 if 語句塊print('true-4') if l1 != l2:print('false-4') if l1 <= l2:print('true-5') if not 1: # 邏輯運算非,相當于 if 0:,即條件為假print('true-6') else:print('false-6')上述代碼輸出結果:
在 if 語句中還可以嵌套其他的 if 語句,被包含的 if 語句要用縮進來表示自己所包含的語句,這是Python獨特的語法,而不像其他語言那樣使用一對大括號 "{}" 來表示一個語句。雖然縮進可以使腳本看起來更加清晰,但在編寫的過程中容易忽略縮進,而導致程序語法錯誤,或者導致結果出錯。在編寫Python腳本中最好使用具有自動縮進功能的編輯器(如:PyCharm),以保證程序正確縮進,減少敲擊鍵盤的次數。
if <條件>:if <條件>:<語句>else:<語句> elif <條件>:if <條件>:<語句><其他語句> # 此語句未縮進,表示不屬于嵌入的 if else:<語句>二、循環結構:for 語句
for 語句是Python中的循環控制語句。for 語句可以用于循環遍歷某一對象,它還具有一個附帶的 else 塊。附帶的 else 塊是可選的,主要用于處理 for 語句中包含的 break 語句。for 語句中的 break 語句,可以在需要的時候終止 for 循環。如果 for 循環未被 break 語句終止,則會執行 else 塊中的語句。在 for 語句中還可以使用 continue 語句,continue 語句可以跳過位于其后的語句,開始下一輪循環。
for 語句的格式
for <> in <對象集合>:if <條件>:break # 終止循環if <條件>:continue # 使用 continue 跳過其他語句,繼續循環<其他語句> else: # 如果 for 循環未被 break 語句終止,則執行 else 塊中的語句 <>完整的一個 for 循環語句:
for i in [ 1, 2, 3, 4, 5 ]:if i == 6:breakif i == 2:continueprint(i) else:print('all')注:for 語句中的對象集合可以是列表、字典或元組等。也可以通過 range() 函數產生一個整數列表,以完成計數循環。
range( [start,] stop[, step])range() 函數參數含義:
- start:可選參數,起始數
- stop:終止數,如果 range 只有一個參數 x ,那么 range 生產一個從 0 至 x-1 的整數列表
- step:可選參數,步長
使用 for 語句遍歷一個字典。由于 for 語句遍歷的是字典的鍵,這樣就可以使用 dic[key] 的形式同樣遍歷字典中的值:
peolple = { 'Tom':170, 'Jack':175, 'Kite':160, 'Tutu':180 } for name in peolple:print(peolple[name])在 for 循環中,除了循環的對象可以是元組以外,循環的目標也可以是元組,可以在循環的過程中對元組進行賦值等操作。
tt = ( ('a', 'b'), ('c', 'd'), ('e', 'f'), ('g', 'h') ) for t1 in tt: # 此處的 t1 相當于一個元組print(t1) print('\n') for (x, y) in tt: # 循環的目標為一個元組print(x, y)實例:通過在 for 循環中嵌套 for 循環語句及 if 語句,實現求解 50 至 100 之間的全部素數
import math # 導入 math 模塊,以使用求平方根的函數for i in range(50, 100 + 1): # 遍歷 50-100for t in range(2, int(math.sqrt(i)) + 1 ): # 從 2 到 i 的平方根,此處使用 int 將 i 的平方根轉為整數if i % t == 0: # 判斷 i 能否被 2 到 i 的平方根內的數整除break # 終止循環else:print(i) # 如果循環沒有被 break 終止,即 i 為素數,打印 i-
break 和 continue
break 和 continue 是專門在循環中使用的關鍵字
break 某一條滿足時,退出循環,不再執行后續重復的代碼
continue 某一條滿足時,不執行后續重復的代碼,其他條件統統要執行
break 和 continue 只針對當前所在循環有效
三、循環語句:while 語句
while 語句也是循環控制語句,與 for 循環不同的是,while 語句只有在測試條件為假時才會停止。在 while 的語句塊中,一定要包含改變測試條件的語句,以保證循環能夠結束,避免死循環的出現。
while 語句包含與 if 語句相同的條件測試語句,如果條件為假,則終止循環。while 語句有一個可選的 else 語句塊,與 for 循環中的 else 語句塊一樣,當 while 循環不是由 break 語句終止時,則會執行 else 語句塊中的語句。continue 語句也可以用于 while 循環中,其作用與 if 語句中的 continue 相同,都是跳過 continue 后的語句,進入下一個循環。
while 的一般格式如下:
while <條件>:if <條件>:break # 終止循環if <條件>continue # 跳過后面的語句<其他語句> else:<語句> # 如果循環未被 break 語句終止,則執行while 循環不像 for 循環可以遍歷某一對象的集合,while 循環最容易出現的問題就是測試條件永遠為真,導致死循環。因此在使用 while 循環時,應仔細檢查 while 語句的測試條件,避免出現死循環。
?使用 while 語句打印 1-5
?使用 while 語句訪問一個列表(使用 while 語句遍歷列表要比使用 for 語句遍歷列表復雜一些):
總結
以上是生活随笔為你收集整理的初学__Python——Python的流程控制语句 if、for、while的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 初学__Python——Python数据
- 下一篇: 初学__Python——Python 自