變數、型別與輸入輸出
學會用變數把資料記下來,分清楚文字和數字的差別,並用 input 和 print 讓程式和你對話。
上一堂的程式,少了什麼?
還記得上一堂的 hello.py 嗎?它每次執行都印出一模一樣的字。這樣的程式沒辦法「記住」任何東西,也沒辦法依照你的輸入做出不同反應。
這堂課要補上兩塊拼圖:變數讓程式能記住資料,輸入輸出讓程式能和你對話。學完之後,你就能寫出「問你今天花多少錢,再幫你算總和」的程式。
變數:貼了名字的盒子
把變數想成一個貼了標籤的盒子。你把資料放進去,之後只要喊標籤的名字,就能拿到裡面的東西。
lunch = 85
drink = 45
total = lunch + drink
print(total)
130
這裡的 = 不是數學的「等於」,而是「把右邊的值放進左邊的盒子」。所以 total = lunch + drink 的意思是:先算出 lunch + drink,再把結果放進 total。
等號的方向是「右邊放進左邊」。
取名字的小規則
- 可以用英文字母、數字和底線,但不能用數字開頭:
price2可以,2price不行。 - 大小寫有差:
Lunch和lunch是兩個不同的盒子。 - 取有意義的名字。
lunch_price比a好懂太多,三個月後的你會感謝現在的你。
型別:資料也分種類
盒子裡裝的東西有不同種類,Python 叫它「型別」。最常用的四種:
| 型別 | 名稱 | 例子 | 生活中的例子 |
|---|---|---|---|
int |
整數 | 85 |
便當價格、捷運站數 |
float |
小數 | 36.5 |
體溫、匯率 |
str |
字串 | "雞腿便當" |
品項名稱、店名 |
bool |
布林 | True、False |
有沒有開發票 |
字串要用引號包起來,單引號或雙引號都可以。
型別很重要,因為它決定了資料能怎麼運算。看看這個例子:
print(85 + 45)
print("85" + "45")
130
8545
數字相加是算術,字串相加是「接起來」。同樣是 +,結果完全不同。想知道某個值是什麼型別,可以用 type() 查:
print(type(85))
print(type("85"))
<class 'int'>
<class 'str'>
輸入與輸出:讓程式和你對話
print() 把東西印到螢幕上,input() 則會停下來等你打字,按 Enter 之後把你打的內容交給程式。
name = input("請問你的名字?")
print("你好," + name)
新手最常卡住的地方
試試看這段程式,輸入 85 和 45:
lunch = input("午餐花多少?")
drink = input("飲料花多少?")
print(lunch + drink)
午餐花多少?85
飲料花多少?45
8545
怎麼不是 130?因為 input() 拿到的永遠是字串。你打的 85 在程式眼中是文字 "85",兩段文字接在一起就變成 "8545"。
解法是先用 int()(整數)或 float()(小數)轉換:
lunch = int(input("午餐花多少?"))
drink = int(input("飲料花多少?"))
total = lunch + drink
print(f"今天一共花了 {total} 元")
午餐花多少?85
飲料花多少?45
今天一共花了 130 元
最後一行用的是 f-string:在字串前面加一個 f,就能用大括號把變數直接放進句子裡。這比用 + 接字串方便很多,也不用擔心型別不合。
讓 AI 當你的家教
讀到這裡,你可能還有點模糊,這很正常。概念需要多看幾個例子才會變清楚,這正是 AI 擅長的事。
我剛開始學 Python,正在學變數和型別。請用台灣日常生活的例子(例如記帳、搭捷運、買便當),出 3 題很簡單的練習題,每題讓我預測一段 3 到 5 行程式的輸出。先不要給答案,等我回答之後再幫我批改並解釋。
讓 AI 出題、你先想答案、再讓它批改,比直接看解答有效得多。重點是你要先動腦。
建立一個新檔案 daily.py,寫一支程式:
- 依序問你今天早餐、午餐、晚餐各花多少錢(用
input(),記得轉成數字)。 - 算出總和。
- 用 f-string 印出一句話,例如「今天三餐一共花了 245 元」。
加分題:再多印一行「照今天的花法,一個月 30 天大約會花多少」。想想看,這一行需要新的 input() 嗎?
讀完了嗎?
標記完成後,單元與專案的進度會自動更新(只存在這台裝置的瀏覽器)。
留言與討論
卡關了、有心得,或發現內容需要更新?都歡迎留言。留言使用 GitHub 帳號登入。