縮排就是區塊
大括號不見了,而縮排變成語法。 · ⏱ 約 25 分鐘
你會學到三件事
- 縮排就是 C++ 的大括號——它不是排版,是語法
elif、and、or、not
- Python 可以寫
1 <= x <= 10,而它是對的
開始之前
C++ 入門第 9 課那個坑還記得嗎——
if (score >= 60)
cout << "及格" << endl;
cout << "恭喜" << endl; // ← 這一行無條件會跑
縮排騙了你,因為 C++ 不看縮排。
Python 把這件事反過來:縮排就是唯一的依據,所以它騙不了你。
一、冒號 + 縮排
if score >= 60:
print("及格")
| C++ |
Python |
if (條件) { |
if 條件: |
} |
縮排結束 |
| 條件要括號 |
不用括號 |
⚠️ 冒號不能少,而它是 Python 裡最常忘的一個字元。
⚠️ 縮排要一致。習慣是 4 個空格。混用 tab 和空格會得到
TabError——那是 Python 少數幾個「看起來一樣而不一樣」的坑。
二、elif
if score >= 90:
print("優等")
elif score >= 60:
print("及格")
else:
print("不及格")
elif 就是 else if 縮寫成一個字。
⚠️ 沒有 else if 這種寫法——寫了會是語法錯誤。
三、用字,不用符號
| C++ |
Python |
&& |
and |
|| |
or |
! |
not |
true / false |
True / False(大寫開頭) |
if 1 <= x <= 10 and score > 0:
print("在範圍內")
四、🟢 1 <= x <= 10 在這裡是對的
C++ 入門第 6 課特別警告過:在 C++ 裡 1 <= a <= 10 永遠成立,
因為它被拆成 (1 <= a) <= 10。
而在 Python 裡——它就是你想的那個意思。
1 <= x <= 10 # 等於 1 <= x and x <= 10
這叫「鏈式比較」,是 Python 特別做的一件事。
同一段文字,兩個語言,兩個不同的答案。
這就是為什麼「會寫程式」不等於「會寫這個語言」。
完成的樣子
score = 75
if score >= 90:
print("優等")
elif score >= 60:
print("及格")
else:
print("不及格")
x = 5
if 1 <= x <= 10 and score > 0:
print("在範圍內")
換你了
把它改成讀進使用者輸入的分數。
⚠️ 記得 input() 給的是文字(上一課那件事)。
這一課你做了什麼
- 你用縮排取代了大括號
- 你用
and / or / not 取代了符號
- 你寫了一個在 C++ 裡會錯、在 Python 裡對的鏈式比較
如果卡住了
| 你看到 |
多半是因為 |
SyntaxError 指著 if 那行 |
冒號忘了 |
IndentationError |
縮排不一致,或該縮沒縮 |
TabError |
tab 和空格混用了。全部改成 4 個空格 |
NameError: true |
Python 是 True,大寫開頭 |
else if 語法錯誤 |
Python 只有 elif |
在編輯器打開這一課 →