程式也能做決定嗎?
前幾天我們學會了讓 Python 儲存資料,也可以透過 input() 接收使用者輸入。
但如果今天希望程式可以根據不同的情況,產生不同的結果呢?
例如生活助理可以判斷:
如果今天下雨,就提醒我帶雨傘。
這時候就需要使用 Python 很重要的功能:條件判斷。
if:如果符合條件,就執行
最基本的寫法就是 if。
weather = "rain"
if weather == "rain":
print("今天會下雨,記得帶雨傘!")
這裡的意思就是:
如果 weather 等於 "rain",就執行下面的程式。
如果條件不符合,則不會執行。
else:不符合條件怎麼辦?
除了「如果符合」,我們通常也會需要處理「如果不符合」的情況。
這時候可以搭配 else:
weather = "sunny"
if weather == "rain":
print("今天會下雨,記得帶雨傘!")
else:
print("今天沒有下雨,可以不用帶雨傘。")
這樣程式就能根據天氣資料產生不同的結果。
elif:不只兩種情況
如果有很多種可能,就可以使用 elif。
例如根據天氣給出不同提醒:
weather = "cloudy"
if weather == "rain":
print("記得帶雨傘!")
elif weather == "sunny":
print("天氣不錯,可以安排戶外活動。")
elif weather == "cloudy":
print("今天多雲,出門前可以再確認一下天氣。")
else:
print("目前沒有相關資訊。")
程式會從上往下判斷,符合其中一個條件後,就執行對應的內容。
這和 AI Agent 有什麼關係?
看到這裡可能會覺得:
「這不就是很普通的 if 判斷嗎?」
沒錯,目前確實很普通。
但我覺得這是一個很重要的概念。
因為我們最後想做的 AI 生活助理,同樣需要根據不同資訊採取不同的行動。
例如:
取得天氣
↓
今天會下雨嗎?
↓
┌───────┴───────┐
是 否
↓ ↓
提醒帶傘 不需要提醒
現在我們是自己寫死規則:
if weather == "rain":
...
而之後的 Agent,則可以根據使用者的目標、取得的資訊以及可使用的工具,進一步判斷下一步該做什麼。
所以今天學到的條件判斷,可以看成是「決策」概念的最基礎版本。
今天學到什麼?
今天認識了:
if
elif
else
條件判斷
比較運算
目前 Python 還只能按照我們事先設定好的規則做判斷。
下一篇會繼續往前一步,學習 List 與 Dictionary,讓程式可以一次管理更多資料。
因為當生活助理開始需要處理「多筆行程」、「多個待辦事項」時,只靠單一變數就不太夠用了。