|
專屬 的 問答 遊戲 。 主要 概念 電腦 懂得 真 與 假學 Python 很 簡單 。 24 是 一 個 偶數 。 312 小於 123 。 True. True .
False. __UNDEF__ 布林值 __UNDEF__ 我們 把 True ( 真 ) 和 False ( 假 ) 稱為 布林值 ( Boolean value ) , 以 英格蘭 數學家 喬治‧布爾 ( George Boole ) 命名 。 他 在 1800年代 中期 所 發明 的 布林 代數 是 現代 數位 電腦 邏輯 的 基礎 。 電腦 可以 決定 一 個 敘述式 是 True ( 真 ) 或 False ( 假 ) 。 例如 「 24 是 一 個 偶數 」 這 個 描述 是 true , 但 「 25 是 一 個 偶數 」 就 是 False 。 電腦 會 用 這 種 True 和 False 的 值 來 決定 要 執行 演算法 的 哪 個 部分 ( 也 就 是 哪 個 程式碼 ) 。 在 「 序言 」 中 , 我們 看過 用 鑽石型 的 方塊 來 代表 決定 。 在 這 個 例子 裡 , 根據 「 R 等於 0 」 這 段 敘述 是 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 敘述式 」 , 又 稱為 「 條件
|