含有關係運算符的表達式稱為關係表達式,關係表達式一般用於條件判斷。那麼,什麼是條件判斷呢?
1、認識條件結構
在生活中,我們常常會遇到許多需要判斷的情況。在這種情況下,需要根據一些條件作出決定和選擇。例如,在我們打算出門時,需要判斷天氣怎麼樣,如果下雨了,就要帶上雨傘;外出旅行時,需要根據不同情況,選擇不同的交通工具。
前面我們編寫的程序都是「順序流程」,每條Python語句按順序執行。但是在很多情況下,程序並不是按既定的順序執行,而是根據不同情況進行判斷,然後執行不同的操作,這種流程成為「條件分支流程」,其結構也稱為「條件結構」。
順序結構是按語句編寫順序來逐條執行;條件結構的核心是條件判斷,條件判斷是一個表達式,表達式的運算結果是邏輯值真(True)或假(False)。當返回結果是True時,執行分支語句塊A;當返回結果是False時,執行分支語句塊B。
語句塊是指由一條或多條語句組成的代碼。
如果表達式返回的是數值,Python規定數值非0為真值,否則為假值。如果表達式返回的是一個對象,對象非空為真值,否則為假值,在Python中,空值用None關鍵字表示。
同順序結構相比,條件結構是根據條件判斷情況有選擇地執行語句,並不是執行全部語句。Python條件結構語法如下圖所示:
IF和ELSE是條件結構的關鍵字,IF和ELSE也可以全部小寫。在IF關鍵字後面是表達式,表達式與IF關鍵字間用一個或多個英文空格隔開,表達式後面的是「:」符號,表達式和「:」符號之間沒有空格。
如果表達式運算結果的值為真(True),則執行IF下面的分支語句A;如果表達式運算結果的值為假(False),則不執行IF下面的分支語句塊A,而執行ELSE下面的分支語句塊B。
單個的變量、邏輯值、數值也是表達式。Python規定,當表達式需要返回邏輯值時,非0的數值為真值,0值為假值。
上面的條件結構也稱為if-else結構,包含if關鍵字的語句稱為if語句,包含else關鍵字的語句稱為else語句,分支語句A屬於if語句範圍內,分支語句B屬於else語句範圍內。
在一些情況下,可能只需要執行條件滿足下的分支語句A,並不需要執行條件不滿足下的分支語句B。在這種情況下,分支語句B就可以省略。
分支語句塊A或分支語句塊B由一條或多條Python語句組成,在Python語言中,Python代碼使用縮進對齊來表示代碼邏輯。縮進就是不同層次語句通過縮進的空格數量來區分,對齊就是同一層次的語句要對齊,即每條語句縮進的空格數量要相同。
案例1的代碼結構被分為兩個層次,注釋語句除外,第02、03、06、08行語句為第一層次,第07、09行語句為第二層次。層次的劃分通過縮進英文空格來實現,縮進空格可以使用Tab鍵,也可以直接輸入空格,縮進建議為四個空格。
現在,我們已經了解了Python語言的簡單條件結構的使用,下面探討一下如何在條件結構中使用關係表達式。
例如:要測試兩個整數類型的變量值num1和num2是否相等,可以編寫num1 == num2,然後將其放入一個IF語句中,如下所示:
如果num1和num2的數值相等,則條件為真,執行IF後面的分支語句,否則條件為假,執行ELSE後面的分支語句。
2、 條件判斷案例程序
問題分析:使用input函數獲取用戶輸入的兩個數值,分別賦值給num1和num2兩個變量,計算num1和num2的和,並賦值給sum變量。最後通過if語句判斷sum大於等於100是否成立,如果條件成立,程序輸出「兩數和大於等於100」。如果為假,程序輸出「兩數和小於100」。
程序流程圖:
3、 案例程序代碼及解讀
有了流程圖,可以開始編寫代碼了。啟動Python IDLE,在IDLE的Shell窗口新建一個代碼文件,在新建的代碼編輯窗口編寫代碼。
代碼編寫完成,保存到D盤的Python目錄或其它目錄,保存的文件名稱是sum.py。
第04、05、06、07條語句是條件結構,04條語句是條件結構的開始語句,也是條件判斷語句,條件判斷語句由if關鍵字和關係表達式組成,如果關係表達式運算結果是True,執行後面的05條語句,否則執行else關鍵字後面的07條語句。
4、 內容小結
條件結構是編寫程序經常使用的一種結構,因為程序是用來解決現實問題的,現實問題總會有這樣或那樣的情況,當出現不同情況時,就要做不同的處理。
在這種情況下,就要用到條件結構了,使用條件結構可以針對不同情況編寫不同的問題處理代碼。最簡單的條件結構是if-else結構,if語句的控制過程是滿足條件就執行if內的分支語句,否則就執行else內的分支語句。在一些情況下,else語句可以省略。