歡迎來到 Python 編程世界!

在之前的章節中,你已經學習過算法(Algorithms)和流程圖(Flowcharts)——它們就像是程式的「藍圖」。現在,是時候學習 Python 了,這就是我們用來構建那些程式的語言。Python 以其簡潔易讀、寫起來幾乎像英文一樣而聞名!如果覺得內容太多,別擔心;我們會一步一步慢慢來。

1. 儲存資訊:變數(Variables)與字面值(Literals)

電腦在處理數據之前,需要一個地方來存放它們。你可以把 變數 (Variable) 想像成一個貼了標籤的儲存盒。你可以將數值放入盒子中,並透過標籤在之後找到它。

字面值 (Literal) 則是放入盒中的實際數值。例如,在程式碼 score = 10 中,score 是變數,而 10 則是字面值。

為你的「盒子」命名(識別碼/Identifiers)

命名變數時,請記住以下規則:

  • 必須以字母(a-z, A-Z)或底線(_)開頭。
  • 可以包含數字,但不能以數字開頭。
  • Python 是區分大小寫的: Scorescore 是兩個不同的盒子!

快速回顧: 當你想儲存隨時會變動或以後需要用到的數值時,請使用 變數;當你想在程式碼中直接使用某個數值時,則使用 字面值

2. 與電腦對話:輸入與輸出(Input and Output)

如果程式能與使用者「對話」,它的用處會更大。

  • print(): 將資訊輸出到螢幕上。例如:print("Hello!")
  • input(): 暫停程式,等待使用者在鍵盤上輸入內容。

常見錯誤: 使用者透過 input() 函數輸入的一切內容都會被視為 字串 (String)(文字)。如果你想把它當作數字使用,必須使用 int()float() 進行轉換。

3. 數據類型:數字與邏輯(Data Types)

Python 需要知道處理的是哪種「類型」的數據,才能正確進行計算。

數字

  • int: 整數(例如:5, -10, 100)。
  • float: 小數(例如:3.14, -0.5)。

算術運算子(Arithmetic Operators)

Python 像計算機一樣可以進行數學運算:

  • + , - , * , / : 基本數學運算。
  • // (整除/Floor Division): 除法後無條件捨去至最接近的整數。
  • % (模數/Modulo): 取得除法後的 餘數。(檢查數字是奇數還是偶數非常有用!)
  • ** (指數/Exponentiation): 乘冪運算(例如:\( 2^{3} \) 寫作 2 ** 3)。

布林值與邏輯(Booleans and Logic)

布林值 (Boolean) 只有 True(真)或 False(假)兩種。我們使用邏輯運算子來結合它們:

  • and: 只有兩邊都為真,結果才為真。
  • or: 只要其中一邊為真,結果即為真。
  • not: 反轉布林值(真變假,假變真)。

重點提示: 計算數量時使用 int,進行體重或身高測量時使用 float

4. 處理文字:字串(Strings)

字串 (String) 是引號內的一連串字元。想像成一串珠子,每一顆珠子都是一個字母或符號。

字串小技巧

  • 串接 (+): 將字串黏在一起。如 "Hello" + " " + "World"
  • 重複 (*): 重複字串。如 "Ha" * 3 會變成 "HaHaHa"
  • 索引 (Indexing): 尋找特定位置的字元。關鍵: Python 從 0 開始算起!如 "Python"[0] 會得到 "P"
  • 切片 (Slicing): 擷取一段文字。如 "Python"[0:2] 會得到 "Py"

字串檢查方法

Python 內建了幾個測試字串的方法:

  • .isdigit(): 字串全為數字嗎?
  • .isalpha(): 字串全為字母嗎?
  • .isupper() / .islower(): 全為大寫或小寫嗎?

你知道嗎? 你可以使用 ord('A') 找出字元的 ASCII 值,並使用 chr(65) 將數字轉換回對應的字元。

5. 組織數據:列表與字典(Lists and Dictionaries)

有時候你需要將多項資訊存放在一起。

列表 (Lists)

列表 (List) 是一組有序的項目集合(像購物清單)。使用中括號:fruits = ["apple", "banana", "cherry"]

  • len(fruits): 告訴你列表中有多少項目。
  • min() / max(): 找出列表中的最小值或最大值。
  • sum(): 將列表中的所有數字相加。
  • in: 檢查項目是否存在於列表中(例如:"apple" in fruits)。

字典 (Dictionaries)

字典 (Dictionary) 的運作方式就像現實中的字典或通訊錄。它使用 鍵 (Keys)值 (Values) 來儲存。例如:student = {"name": "Ali", "age": 16}。要取得名字,你可以存取 student["name"]

重點提示: 當項目的順序很重要時,請使用 列表;當你想為數據命名以便輕鬆查找時,請使用 字典

6. 決策:選擇結構(Selection)

電腦透過 選擇結構 (if 語句) 來做決定。這就像在道路分岔口做選擇。

if (條件):
    # 如果條件為真,執行此處
elif (另一個條件):
    # 如果第一個條件為假,且此條件為真,執行此處
else:
    # 如果上述條件皆不成立,執行此處

記憶小幫手: 千萬記得在 if 這一行的最後加上 冒號 (:),並且要將下方的程式碼 縮排 (indent)

7. 重複執行:迭代(Iteration)

迭代 (Iteration / Loops) 讓你可以重複執行程式碼,而不必重複輸入。

  • for 迴圈: 當你知道要重複多少次時使用(例如:for i in range(5):)。
  • while 迴圈: 當你想一直重複 直到 某個情況改變時使用(例如:while lives > 0:)。

8. 函數:迷你程式(Functions)

函數 (Function) 是一段執行特定任務的程式碼塊。你需要時可以隨時「呼叫」它。

def greet(name):
    return "Hello " + name

  • 參數 (Parameters): 你傳給函數的資訊(即 name)。
  • 回傳值 (Return value): 函數執行後給你的「答案」。

區域變數與全域變數

想像 全域 (Global) 變數是一個公共公園——程式中的每個人都能看到並使用它。而 區域 (Local) 變數則像函數內部的私人後院——只有該特定函數才知道它的存在。

9. 檔案處理(Handling Files)

為了永久儲存數據,我們使用檔案。這就像打開櫃子、閱讀文件夾,然後再關上櫃子一樣。

  1. open(): 準備好檔案。(使用 "r" 讀取或 "w" 寫入)。
  2. read() / readline() / write(): 執行讀寫工作。
  3. close(): 完成後請務必關閉檔案以儲存你的工作!

快速回顧: 使用 with 關鍵字(例如:with open(...) as f:)是處理檔案最安全的方法,因為它會自動為你關閉檔案!

10. 使用額外工具:匯入(Import)

Python 有稱為模組 (Modules) 的「工具箱」,你可以借用它們。要使用它們,請使用 import 指令。

  • import math: 提供如 math.sqrt()(平方根)和 math.ceil()(無條件進位)等工具。
  • import random: 提供 random.randint(1, 10) 來產生隨機數字。

鼓勵一下: 編程就像彈奏樂器一樣,是一種技能。如果程式第一次執行不成功,別擔心——偵錯(Debugging)才是真正學習的過程!