|
是 True 或 False , 演算法 會 從 兩 個 不同 路徑 擇一 , 並 給予 不同 的 回答 。 設 n 為 使用 者 輸入 的 數 。 設 R 為 n 除以 2 的 餘數 。 R 等於 0 。 True 螢幕 顯示 n 是 偶數 。 False 螢幕 顯示 n 是 奇數 。 停止 比較 Python 裡 的 項目 我們 用 兩 個 等號 ( 如 下 ) 來 比較 兩 個 項目 。 如果 相同 , 則 結果 的 值 是 True , 反之 則 是 False 。 在 Python 殼層 輸入 以下 程式碼 試試 看 :>>> player_score = 0 # 這 會 把 0 放入 變數 player_score>>> player_score == 0 # 這 會 檢查 player_score 裡 的 值 是否 為 0 因為 player_score 設為 0 , 把 它 和 0 比較 時 , Python 殼層 會 回傳 True 。 如果 要 檢查 的 資訊 是 文字 ( 字串 ) , 則 會 區分 大小寫 。 在 以下 的 例子 裡 , 變數 name 儲存 Z 大寫 的 「 Zoe 」 , 並 與 z 小寫 的 「 zoe 」 比較 。 因為 兩 個 不 一樣 , 檢查 後 Python 回傳 False 。 >>> name = 'Zoe' # 將 變數 name 設為值 Zoe>>> name == 'zoe'False>>> 我們 也 可以 用 其他 比較 運算元 來 檢查 true 和 false 。 以下 是 幾 個 範例 。 >>> 5 > 2 # 檢查 5 是否 大於 2True>>> 5 < 2 # 檢查 5 是否 小於 2False>>> 5 != 3 # 檢查 5 是否 不 等於 3True>>> choice = 'yes'>>> choice != 'quit' # 檢查 choice 是否 不 等於 quitTrue 布林 表示式 __UNDEF__ 有 True 或 False 的 值 的 任何 敘述式 都 稱為 「 布林 表示式 」 ( Boolean expression ) 或 「 條件式 」 ( condition ) 。 例如 以下 :x < 2choice == 'yes'player_score > 100 主要 概念 電腦 可以 結合 True 和 False Take an umbrella .
帶 雨傘 。 在 下雨 。 and 我 有 雨傘 。 我們 常 將 不同 的 條件式 結合為 新 的 條件式 來 幫助 我們 做 決定 。 例如 : 我們 需要 檢查 「 在 下雨 」 這 個 條件式 AND ( 且 ) 「 我 有 雨傘 」 這 個 條件式 , 再 決定 出門 要不要 帶 傘 。 我們 用 AND 來 結合 兩 個 條件式 : 下雨 和 有 傘 。 電腦 能 用 布林 運算元 ( Boolean operator ) 來 結合 True 或 False 的 布林 表示式 , 用來 建立 新 的 True 或 False 布林 表示式 。 AND 運算元 如果 我們 知道 「 在 下雨 」 是 True , AND ( 且 ) 知道 「 我 有 雨傘 」 也 是 True , 則 我們 知道 出門 時 可以 帶 雨傘 。 因此 「 帶 雨傘 」 只有 在 「 兩 個 」 敘述式 都 為 True 時 才 為 True 。 OR 運算元 如果 我們 知道 「 風 大 」 是 True , OR ( 或 ) 知道 「 很 冷 」 是 True , 則 可以 決定 是否 帶 外套 。 如果 冷 、 如果 風 大 , 或 如果 同時 冷和風 大 , 我們 都 會 帶 外套 。 因此 「 帶 外套 」 在 這 兩 個 敘述式 任一 或 同時 為 True 時 為 True 。 NOT 運算元 如果 我們 知道 「 外面 溫暖 」 是 False ( NOT ( 非 ) True ) , 則 可以 決定 帶 外套 。 因此 「 帶 外套 」 在 「 外面 溫暖 」 為 False 時 為 True , 即為 「 相反 」 。 在 Python 使用 運算元 我們 可以 用 AND 運算元 ( 且 ) 來 結合 兩 個 布林 表示式 。 例如 : 若 命數 ( 儲存 於 變數 lives ) 和 遊戲 剩餘 時間 ( 儲存 於 變數 game_time ) 皆 大於 0, 則 遊戲 可 繼續 。 >>> lives > 0 and game_time > 0# 遊戲 只有 在 有 剩餘 的 命 和 時間 時 可以 繼續 我們 也 可以 用 OR 運算元 ( 或 ) 來 結合 兩 個 布林 表示式 。 例如 : 若 命數 ( 儲存 於 變數 lives ) 等於 0 或 無 剩餘 時間 , 即 遊戲 剩餘 時間 ( 儲存 於 變數 game_time ) 等於 0, 則 遊戲 必須 結束 。 >>> lives == 0 or game_time == 0# 若 無 剩餘命 或 無 剩餘 時間 , 則 遊戲 結束 我們 用 NOT 運算元 ( !
) 來 取得 相反值 。 >>> choice != ' 退出 ' # 使用 者 不 想 退出 >>> not ( player_score == 0 ) # 若 player_score 非 0 , 則 此 式 為 true T 大寫 的 True True 和 False 在 Python 裡 被 視為 布林值 , 且 區分 大小寫 。 在 Python 殼層 輸入 以下 程式碼 試試 看 :>>> True and True>>> true or true 第二 個 表示式 會 產生 錯誤 , 因為 「 true 」 不 是 布林值 ; 它 被 視為 尚未 被 指派 任何值 的 變數 。 主要 概念 以 條件式 為 基礎 的 程式碼 __UNDEF__ 我們 會 根據 一 件 事 的 True 或 False 來 做 決定 和 執行 不同 動作 。 舉例 來 說 , 思考 這 個 在 早餐 時間 可能 要 做 的 決定 : 若 冰箱 有 雞蛋 , 且 我 有 時間 ( 二 者 皆 為 True ) , 則 我 會 煎蛋 當 早餐 , 接著 坐下來 吃 。 否則 , 我 會 帶 一 根 穀麥 棒路 上 吃 。 根據 這 個 條件 的 True 或 False , 你 會 做 不同 的 動作 。 同樣 的 道理 , 電腦 會 根據 「 條件式 」 ( 有 True 或 False 值 的 布林 表示式 ) 來 執行 程式碼 。 若 條件式 的 值 為 True , 則 執行 一 組 程式碼 敘述式 ( 「 if 」 程式碼 區塊 ) ; 否則 執行 另 一 組 ( 「 else 」 程式碼 區塊 ) 。 這 種 敘述式 稱為 「 條件 敘述式 」 ( conditional statement ) 或 「 if-else 敘述式 」 。 用 流程圖 來 看 , 早餐 的 範例 如同 以下 : 冰箱 有 雞蛋 AND 我 有 時間 。 True 做 煎蛋 。 烤吐司 。 吃 蛋 和 吐司 當 早餐 。 False 從 廚房 櫃子 拿 穀麥棒 。 把 穀麥棒 放進 包包 , 之後 吃 。 if 程式碼 區塊 … Trueelse 程式碼 區塊 … False 煎蛋 ? 做 即 食 燕麥 ? 帶 穀麥棒 出門 ? 在 Python 使用 條件 敘述式 為了 根據 條件 來 執行 程式碼 , 我們 要 用 「 if 敘述式 」 , 又 稱為 「 條件 敘述式 」 。 若 條件式 為 true , 它 會 執行 if 區塊 裡 的 那 組 敘述式 ; 否則 會 執行 else 區塊 裡 的 敘述式 ( else 區塊 非 必要 ) 。 If-Else 條件 敘述式 在 Python 殼層 輸入 以下 程式碼 試試 看 :>>> raining = True>>> if raining: print ( ' 外面 濕濕 的 ' ) print ( ' 穿 雨鞋 ' ) print ( ' 帶 雨傘 ' ) 外面 濕濕 的 穿 雨 鞋帶 雨傘 >>> 再次 執行 以上 的 程式碼 , 但 把 raining 改設為 False 。 什麼 都 不會 顯示 。 以下 的 範例 是 向 使用 者 詢問 當天 星期幾 , 並 根據 星期幾 來 設定 alarm 變數 並 顯示 訊息 在 範例 裡 , 使用 者 輸入 星期一 , 所以 顯示 「 起床 準備 上班 」 的 訊息 。 >>> day = input ( ' 輸入 星期幾 ' ) 輸入 星期幾 >>> if day == ' 星期六 ' or day == ' 星期天 ': alarm = 'OFF' print ( ' 今天 周 末 , 睡 晚 一點 !' ) else: alarm = 'ON' print ( ' 起床 準備 上班 ' ) 起床 準備 上班 縮 排 程式碼 __UNDEF__ 在 條件 敘述式 輸入 冒號 後 ,
|