iT邦幫忙

2026 iThome 鐵人賽

DAY 14
0
佛心分享-IT 人自學之術

當 Python 初學者遇到 AI:30 天人機協作學習手記系列 第 14 篇

[Day 14] 基礎階段小結:動手做!結合這 13 天所學的猜數字遊戲

  • 分享至 

  • xImage
  •  

今日對話:如何整合所學寫出小專案?

我的 Prompt(提示詞):
「這是我前 13 天學到的技能清單(變數、運算子、if/else、while 迴圈、字典、檔案操作)。請幫我設計一個『猜數字遊戲 (1~100)』。
需求如下:

  1. 要有 while 迴圈讓玩家一直猜,直到猜中為止。
  2. 要用 if/else 提示玩家『太大了』或『太小了』。
  3. 遊戲結束後,要用 Dictionary 記錄玩家名字與猜測次數。
  4. 最後用 with open 將戰績附加 (a 模式) 寫入 txt 檔案中。」

AI 導師的建議與拆解

AI 導師非常讚賞這個實作計畫,並幫我理出了解題架構:

  1. 引入外部工具:我們需要先用 import random,讓電腦隨機產生一個 1~100 的數字。
  2. 變數準備:準備一個變數 guess_count 來計算玩家猜了幾次。
  3. 核心迴圈:使用 while True 製造無限迴圈,讓玩家輸入數字。只有當玩家輸入的數字等於答案時,才使用 break逃脫。
  4. 檔案紀錄:跳出迴圈後,建立玩家戰績字典,並使用 with open 寫入檔案。

實作筆記與驗證

這是我根據 AI 的架構,親手打出來的綜合專案 day14.py:

python
import random

print("🎮 歡迎來到終極猜數字遊戲!")
player_name = input("請輸入您的遊戲暱稱:")

#1. 產生答案與初始化變數
answer = random.randint(1, 100) # 電腦隨機產生 1~100 的整數
guess_count = 0 # 猜測次數歸零

#2. 遊戲核心迴圈
while True:
guess = input("請猜一個 1~100 的數字:")
guess = int(guess) # 將玩家輸入的字串 (str) 轉成整數 (int)
guess_count += 1

#3. 條件判斷
if guess > answer:
print("📉 太大了!再猜小一點。")
elif guess < answer:
print("📈 太小了!再猜大一點。")
else:
print(f"🎉 恭喜 {player_name} 猜中了!答案就是 {answer}。")
print(f"總共猜了 {guess_count} 次。")
break # 猜中就跳出迴圈

#4. 資料整理 (Dictionary)
record = {
"name": player_name,
"count": guess_count
}

#5. 戰績存檔 (File I/O)
with open("game_records.txt", "a", encoding="utf-8") as file:
# 將字典的資料格式化成字串後寫入
file.write(f"玩家:{record['name']} | 挑戰次數:{record['count']} 次\n")

print("💾 您的戰績已成功保存!")

今日小結

這 14 天的基礎打底非常充實。有了這些基礎,已經有能力讀懂別人的程式碼,也能自己寫出實用的小工具了。


上一篇
[Day 13] 讓資料永久保存:Python 基礎檔案操作與 with open() 語法
下一篇
[Day 15] 進階第一關:一行抵三行的魔法!Python 推導式 (Comprehension
系列文
當 Python 初學者遇到 AI:30 天人機協作學習手記 共 18 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言