Python程序开发——第二章 条件语句和循环语句
目錄
- 前言
- 一、if語句
- (一)單分支
- (二)雙分支
- (三)多分支
- (四)if語句的嵌套
- 二、for循環
- (一)for循環的定義
- (二)range()函數控制循環次數
- (三)for循環中的else子句
- (四)for語句的嵌套
- 三、while循環
- 四、break語句和continue語句
- 五、pass語句
前言
本章主要介紹Python中的條件語句:if語句及if語句的嵌套、for循環、while循環、break語句、continue語句等等。
一、if語句
通過if語句,產生分支,通過定義的條件結果執行不同的操作(True 或 False)。if語句中常用的大于小于或者小于或等于與一般一樣,這里要注意的等于表示為”==“,不等于表示為”!=“,其左右跟要比較的對象。
(一)單分支
if語句的單分支,指只有if關鍵字的條件語句,可以理解為如果條件正確,則執行代碼,而如果條件為假,程序會跳過if語句,執行下面的語句。
例如下列Python代碼:
運行結果如下:
當我們輸入數字大于0時,沒有顯示:
而當我們輸入數字小于0時,滿足if條件語句:
(二)雙分支
通過if……else語句可以產生雙分支if語句,如下,當條件表達式為正確時,執行代碼塊1,而當條件表達式為錯誤時,執行代碼塊2。
if 條件表達式:代碼塊1 else:代碼塊2以下是一個雙分支判斷程序,下列Python代碼:
account = input("請輸入賬號:") password = input("請輸入密碼:") print("請再次確認您輸入的賬號和密碼!") print("您的賬號為:", account, end="") print("您的密碼為:", password) print("請稍后...") if account == "admin" and password == "123456":print("管理員登陸成功") else:print("登陸失敗!")運行結果如下:
這里運用到了and,表示只有當賬戶和密碼都為特定的值時,才能登陸成功,同樣也有or,它表示或者的意思,
(三)多分支
多分支if……elif……else語句,可以處理多種情況,當條件表達式1的值為正確時,執行代碼塊1,否則執行條件表達式2,若條件表達式2正確,則執行代碼塊2,否則執行條件表達式3,依次下去,如果else語句前面的條件表達式都為錯誤時,則執行代碼塊n,格式如下:
if 條件表達式1:代碼塊1 elif 條件表達式2:代碼塊2 elif 條件表達式3:代碼塊3 elif 條件表達式n-1:代碼塊n-1 ... else:代碼塊n下列Python代碼,當輸入小于0、大于0或等于0時,會有不同的輸出結果:
x = float(input("請輸入數字:")) if x < 0:print("該數字小于0") elif x > 0:print("該數字大于0") else:print("該數字等于0")運行結果如下:
當輸入數字大于0時:
當輸入數字小于0時:
當輸入數字等于0時:
下列Python程序,當輸入學生的成績,會自動評價:
運行結果如下:
(四)if語句的嵌套
if語句可以多層嵌套,嵌套是指在if語句中包含if語句,通過縮進來表示嵌套,這里指的if語句包括上面三種分支。
比如下面的示例,程序首先判斷條件表達式1的結果,若為正確,則執行代碼塊1,此時再判斷嵌套的if語句(條件表達式2),若正確,則執行代碼塊2:
二、for循環
for循環可以對可迭代對象進行遍歷,比如列表、字符串、元組、字典或集合,且可以通過range()函數來控制for循環中的循環次數。
(一)for循環的定義
for循環的格式如下,其中每當for語句執行一次循環,其臨時變量會被賦值為從可迭代對象中讀取的序列元素:
for 臨時變量 in 可迭代對象:代碼塊下列Python代碼,通過for語句遍歷輸出該字符串每個字符以及遍歷輸出列表name的值,可迭代對象為number字符串以及列表name,然后遍歷輸出臨時變量的值:
number = "first" name = ["ab", "ad", "ac"] for x in number:print(x) for i in name:print(i)運行結果如下:
另外,可以在for語句中使用continue語句跳出本次循環,使用break語句跳出整個循環,例如下列python代碼:
運行結果如下:
(二)range()函數控制循環次數
可以通過range()函數來生成數列,進行遍歷,通過該函數控制循環執行次數,比如range(5,10)它表示的是5到9的值,即左閉右開區間。
下列Python代碼,輸出三次for語句中的內容:
運行結果如下:
下列Python代碼,通過range()函數來生成數列,也可以用區間或步長來表示,可看到range(3,6)輸出的是3至5:
運行結果如下:
下列Python代碼,利用for循環輸出1+2+3+……+100的結果,可以直接讓for循環執行100次,即range(101):
運行結果如下:
通過range()函數,了解到它默認每次循環序列加1,所以可通過添加一個參數來指定增量值,比如這里range(3, 20, 2)表示3到19每次循環增加2:
運行結果如下:
(三)for循環中的else子句
可以在for循環內添加else子句來指定循環結束時執行的代碼。
例如下列python代碼:
運行結果如下:
(四)for語句的嵌套
for循環可嵌套,要注意縮進,例如下列python代碼:
a = ["1班", "2班", "3班", "4班"] b = [25, 30] for i in a:for x in b:print(i, x)運行結果如下:
例如下列python代碼,要求通過for循環來輸出100以內的質數(素數也叫質數,即只有兩個正因數【1和本身】的自然數),通過for循環嵌套:
運行結果如下:
也可以創建一個列表來完成本題,如下:
運行結果如下:
三、while循環
while循環的格式如下,若條件表達式為正確時,則重復執行代碼塊中的內容,直到表達式為錯誤時退出,不再執行循環中的代碼塊:
while 條件表達式:代碼塊下列Python,通過while循環計算1+2+…+100的值:
i = 1 sum = 0 while i <= 100:sum = i + sumi = i + 1 print("1+2+...+100的值為:", sum)運行結果如下:
另外可以通過設置while 1或while True來無限循環,如下列Python代碼:
運行結果如下:
另外while循環也是可以嵌套的,也是通過縮進來進行嵌套。
四、break語句和continue語句
Python中有兩種跳轉語句,它們只能在循環中使用,不能夠單獨使用,break語句表示跳出整個循環,continue語句表示跳出本次循環。
下列Python代碼中,通過continue語句,設定當輸入數字i小于0時,跳出本次循環,不將其加入sum計算中:
運行結果如下:
下列Python代碼中,通過break語句,設定當輸入數字i小于0時,跳出整個循環并輸出結果:
運行結果如下:
五、pass語句
pass語句也叫占位語句,通過使用可以避免程序拋出異常,即用在代碼中使程序可以正常運行。
for x in [0, 1, 2, 3]:if x == 0 or x == 3:passelse:continueprint(x)運行結果如下:
總結
以上是生活随笔為你收集整理的Python程序开发——第二章 条件语句和循环语句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (*长期更新)软考网络工程师学习笔记——
- 下一篇: Python程序开发——第三章 列表与元