學程式不只是為了寫一堆小範例,更重要的是能「解決問題」。這最後一天,我們要打造一個「Python 自動化工具」,讓你把輸入、處理、輸出全部串起來,體驗 Python 帶來的實用價值。
設計一個「每日任務小幫手」,具備以下功能:
-輸入:讀取使用者輸入的代辦事項,或從檔案讀取。
-處理:把任務存到一個字典,並自動加上日期與狀態(未完成/已完成)。
-輸出:把資料存成 CSV 檔,並且在終端機輸出「今日任務表」。
import csv
from datetime import datetime
# 1. 建立資料結構
tasks = []
# 2. 使用者輸入
print("輸入你的代辦事項,輸入 q 結束:")
while True:
task = input("請輸入任務:")
if task.lower() == "q":
break
tasks.append({"任務": task, "狀態": "未完成", "日期": datetime.now().strftime("%Y-%m-%d")})
# 3. 存檔
file_name = "todo_list.csv"
with open(file_name, "a", newline="", encoding="utf-8") as f:
writer = csv.DictWriter(f, fieldnames=["任務", "狀態", "日期"])
if f.tell() == 0:
writer.writeheader()
writer.writerows(tasks)
# 4. 顯示結果
print("\n今日任務清單:")
for i, t in enumerate(tasks, 1):
print(f"{i}. {t['任務']} - {t['狀態']} ({t['日期']})")
請嘗試完成這個「每日任務小幫手」,並加入你自己的創意(例如:自動寄 Email、排程提醒、甚至 Telegram Bot)。
這個挑戰能讓你完整走一次「需求 → 設計 → 撰寫 → 儲存 → 輸出」的開發流程,體驗真正專案開發的感覺。
30 天的 Python 之旅到這裡劃下句點,但這只是開始,從基礎語法、資料結構、函式,到專案應用,你已經具備把 Python 當作解決問題工具的能力,接下來,你可以挑戰更進階的方向,例如:
未來屬於會寫程式的人,而你已經踏出了關鍵的第一步。加油
--- by Ricky