AI十秒就能交出一段Python,為什麼大三還要學Python程式實習?
適用課程:大三「Python程式實習」第一堂課
生成式AI出現後,只要輸入一句話,例如:「輸入5位學生成績,計算平均、最高、最低」,AI往往在十秒內就能產生一段看起來完整的Python程式。
因此,同學很自然會問:既然AI會寫程式,我們為什麼還要花一學期學Python?
答案是:AI可以很快交出程式碼初稿,但真正困難的工作,是從拿到程式碼後才開始。Python程式實習要培養的,不只是「打出程式」,而是能夠判斷、驗證、除錯、改進與應用程式的能力。
一、AI十秒能做什麼?——快速產生程式初稿
面對一個簡單需求,AI可以依照自然語言描述產生程式。例如下列程式碼表達的是:「請AI依照題目,產生一段解題程式」的概念:
prompt = "輸入 5 位學生成績,計算平均、最高、最低"
answer = AI.generate(prompt)
print(answer)
不過,這段不是可直接執行的標準Python程式,而是用來說明AI協助寫程式的流程。真正可以執行的Python版本,可能像下面這樣:
scores = []
for i in range(5):
score = float(input(f"請輸入第 {i + 1} 位學生的成績:"))
scores.append(score)
print("平均:", sum(scores) / len(scores))
print("最高:", max(scores))
print("最低:", min(scores))
AI確實能很快給出這樣的答案。但是,當程式出現在你面前時,真正的問題才剛開始。
AI可以在十秒內產生程式初稿;但程式是否正確、安全、可維護,仍需要懂程式的人來判斷與負責。
二、真正難的問題,從程式碼出現後才開始
問題1:這段程式一定對嗎?
不一定。AI產生的是根據大量資料推測出的「合理答案」,不是保證完全正確的答案。程式可能有語法錯誤、變數名稱不一致、計算邏輯錯誤,甚至看起來可以執行,結果卻不符合題目要求。
例如,若題目要求「計算五位學生的平均」,AI卻只讀到四筆資料,或誤把總分除以6,程式仍可能執行,但答案已經錯了。
因此,學習Python的第一個目的,就是能看懂程式碼在做什麼,並能自己設計測試資料來驗證結果。
問題2:使用者輸入 abc 會怎樣?
上面的範例預期使用者輸入數字,但真實世界中的使用者不一定完全配合。若輸入abc、空白或「九十分」等文字,下面這行程式就會發生錯誤:
score = float(input("請輸入成績:"))
Python會出現ValueError,然後程式中斷。這時,我們必須加入例外處理,讓程式能提醒使用者重新輸入:
while True:
try:
score = float(input("請輸入成績:"))
break
except ValueError:
print("輸入錯誤,請輸入數字,例如:85 或 92.5。")
這就是程式實習的重要價值:不只讓程式「跑得動」,更要讓程式面對錯誤輸入時,仍能穩定而友善地運作。
問題3:如果資料有10,000筆呢?
五筆成績可以一筆一筆輸入;但如果面對全校一萬名學生、社區問卷資料、感測器每分鐘上傳的資料,人工輸入已不可能完成。
此時,程式需要從CSV檔、Excel檔、資料庫或網路API讀取資料,並進一步進行清理、分析與視覺化。例如:
- 讀取一萬筆學生資料。
- 找出缺漏值、錯誤值與重複資料。
- 計算各班平均、及格率與成績分布。
- 將結果畫成圖表或輸出成報表。
這正是大三Python程式實習會逐步學到的能力:從基本語法,走向真實資料與實務問題的處理。
問題4:需求突然改變呢?
真實專題中,需求幾乎一定會改變。原本只要計算平均、最高與最低,後來老師或使用單位可能提出新的要求:
- 缺考學生不納入平均。
- 列出低於60分的學生名單。
- 計算全班及格率。
- 依照班級、性別或科系分組分析。
- 自動輸出Excel成績報表。
- 將資料放上網頁,供教師或學生查詢。
如果只會複製AI產生的程式,一旦需求改變,就很容易不知道該從哪裡修改;但如果理解變數、串列、條件判斷、迴圈、函式與模組,就能和AI協作,快速調整程式。
問題5:結果算錯,你看得出來嗎?
最危險的錯誤,不是程式直接當掉,而是程式看似正常執行,卻產生錯誤結果。
例如,缺考資料以0表示時,若直接納入平均,班級平均就會被拉低;或者讀取Excel欄位時,誤把「學號」當成「成績」,程式仍會算出一個數字,但那個數字毫無意義。
因此,程式設計者必須具備資料判讀與驗證能力,包括:
- 用少量資料手算,和程式結果比對。
- 測試正常、極端與錯誤輸入。
- 確認資料欄位與資料型態是否正確。
- 檢查結果是否符合常識與題目要求。
- 保留程式、資料來源與處理過程,讓結果可追溯。
三、AI時代,我們為什麼還要學Python?
在AI時代,學Python不是為了和AI比誰打字快,而是為了成為能夠善用AI、檢查AI、改進AI成果的人。
| AI可以協助 | 學生必須具備 |
|---|---|
| 快速產生程式初稿 | 看懂程式的邏輯與結構 |
| 提供可能的解法 | 判斷解法是否符合需求 |
| 協助修改與補充程式 | 描述問題、定位錯誤與驗證修改 |
| 協助撰寫文件與註解 | 確認資料、結果與責任歸屬 |
未來需要的人才,不只是會使用AI的人,而是能將AI產生的內容轉化為可靠系統、解決真實問題的人。
讓每位同學都能從「請AI寫程式」,進一步成長為「能與AI一起完成可靠程式與實務專題的人」。
四、第一堂課給同學的提醒
從今天開始,AI可以是你的學習夥伴,但不能取代你的思考。你可以請AI解釋程式、產生範例、協助找錯誤,也可以和AI一起完成專題;但是你要逐步學會提出清楚問題、閱讀程式、測試結果與做出判斷。
AI讓每個人都能很快得到程式碼;
學Python,讓你有能力判斷程式碼是否正確,
並把它真正用在真實問題上。
五、課後思考
- 如果AI產生的程式可以執行,你如何確認它的結果正確?
- 如果使用者輸入錯誤資料,你希望程式如何回應?
- 若資料從5筆增加到10,000筆,你會如何改寫程式?
- 你希望在本學期用Python與AI,解決哪一個生活、地方或專業領域的問題?
國立虎尾科技大學|Python程式實習
沒有留言:
張貼留言