2026年9月3日 星期四

AI十秒就能交出一段Python,為什麼大三還要學Python程式實習?

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,讓你有能力判斷程式碼是否正確,
並把它真正用在真實問題上。

五、課後思考

  1. 如果AI產生的程式可以執行,你如何確認它的結果正確?
  2. 如果使用者輸入錯誤資料,你希望程式如何回應?
  3. 若資料從5筆增加到10,000筆,你會如何改寫程式?
  4. 你希望在本學期用Python與AI,解決哪一個生活、地方或專業領域的問題?

國立虎尾科技大學|Python程式實習

沒有留言:

張貼留言