追蹤與偵錯
學習導覽
在這一章中,我們將學習如何使用 Thonny 的追蹤與除錯功能。這些功能能幫助你理解程式執行的每一步,找出並修正程式中的問題。
- 學習如何進入追蹤模式。
- 掌握逐步執行程式的方法。
- 學會檢查變數值及設置中斷點。
- 理解如何利用除錯工具來修正錯誤。
什麼是追蹤與除錯功能?
Thonny 是一款簡單易用的 Python 編輯器,其內建的追蹤與除錯功能特別適合初學者。以下是它的特色:
- 可以逐步執行程式,幫助你了解每一行程式碼的作用。
- 提供即時變數檢視,讓你追蹤變數值的變化。
- 支援設置中斷點,讓程式執行到特定位置時暫停。
如何使用 Thonny 的追蹤與除錯功能?
1. 啟用追蹤模式
- 打開 Thonny 並載入你的程式碼。
- 點擊工具列上的 Debug 按鈕(隱形的烏龜圖示)。
- 程式將進入逐步執行模式。
2. 使用除錯控制
以下是常用的控制按鈕及其作用:
- Step Over: 執行當前行,並跳過函式內部的細節。
- Step Into: 進入函式內部,檢查細節。
- Step Out: 跳出函式,回到外部程式碼。
- Continue: 讓程式執行到下一個中斷點或結束。
3. 檢視變數值
在 Thonny 的右側或底部的 Variables 面板,你可以檢視所有變數的即時值。觀察它們隨程式執行的變化,有助於找出問題所在。
4. 設置中斷點
斷點是一種讓程式暫停的工具,方便你專注於特定程式碼段的執行:
- 在程式碼行號的左側點擊,添加中斷點。
- 執行程式時,Thonny 會在中斷點處暫停。
常見問題與解答
問題 1:如何檢查變數值?
在除錯模式中,右側的 Variables 面板會顯示所有變數的即時值。點擊變數名稱可以檢查其詳細內容。
問題 2:中斷點無法生效?
確保程式已在除錯模式中執行,並檢查中斷點是否設置在有效的程式碼行。
問題 3:如何退出除錯模式?
點擊工具列上的Stop 按鈕即可退出除錯模式。
挑戰題目
挑戰 1:檢查變數值
編寫以下程式碼,使用除錯模式檢查變數 total
的值:
def add_numbers(a, b):
total = a + b
return total
result = add_numbers(3, 5)
print(result)
挑戰 2:修正錯誤
以下程式碼有一個錯誤,使用 Thonny 的除錯功能找出並修正它:
def divide_numbers(a, b):
result = a / b
return result
print(divide_numbers(5, 0)) # 錯誤:除以零
挑戰 3:數字累加問題
以下程式碼試圖計算數列的總和,但程式中有些邏輯錯誤,導致結果不正確。
請使用 中斷點 和 變數觀察功能,找出並修正這些錯誤。
def calculate_sum(numbers):
total = 0
for i in range(len(numbers)):
total += numbers[i] # 累加數列元素
# 錯誤:嘗試存取不存在的索引
if i > len(numbers):
print("發生錯誤:索引超出範圍!")
return total
# 測試數列
numbers = [1, 2, 3, 4, 5]
result = calculate_sum(numbers)
print(f"數列總和:{result}")
任務目標
- 設置斷點:在
for
迴圈內的total += numbers[i]
行設置斷點,觀察變數total
的變化。 - 變數監控:檢查
numbers[i]
和total
在每次迭代中的值。 - 追蹤執行流程:使用單步執行功能,確保程式執行邏輯正確。
- 修正程式錯誤:
- 移除不必要的條件檢查
if i > len(numbers)
。 - 確保程式正確計算數列的總和。
- 移除不必要的條件檢查
提示
- 觀察條件
if i > len(numbers)
是否有意義。 - 確保程式邏輯只在有效索引範圍內運行。
結語
透過本章的學習,你應該已經了解如何使用 Thonny 的追蹤與除錯功能。這些技巧將大幅提升你發現和解決程式問題的能力。試著多練習,成為一名更出色的 Python 程式設計師!