
🎮 歡迎來到變數王國!
🌟 冒險背景故事
在神秘的Python王國中,變數是最強大的魔法道具。作為新手冒險者,你需要掌握四大基礎魔法類型:整數戰士、字串法師、布林值巫師和浮點數精靈。只有集齊這四種力量,才能成為真正的變數大師!
graph TD
A[🎮 開始變數冒險] --> B[📚 認識變數基礎]
B --> C[⚔️ 整數戰士關卡]
B --> D[🎭 字串法師關卡]
B --> E[🔮 布林值巫師關卡]
B --> F[🌊 浮點數精靈關卡]
C --> G[💫 變數運算競技場]
D --> G
E --> G
F --> G
G --> H[🔄 類型轉換煉金術]
H --> I[👑 最終Boss挑戰]
I --> J[🏆 變數大師認證!]
style A fill:#ff6b6b,stroke:#000,color:#fff
style J fill:#51cf66,stroke:#000,color:#fff
📋 冒險前的裝備檢查
# 🎒 冒險者初始裝備
print("=" * 50)
print("🎮 Python變數冒險 - 角色創建 🎮")
print("=" * 50)
# 創建你的冒險者
adventurer_name = "新手冒險者" # 你的名字
level = 1 # 當前等級
exp = 0 # 經驗值
hp = 100 # 生命值
mp = 50 # 魔法值
is_ready = True # 準備狀態
print(f"🧙♂️ 冒險者: {adventurer_name}")
print(f"⭐ 等級: {level}")
print(f"❤️ 生命值: {hp}")
print(f"💙 魔法值: {mp}")
print(f"✅ 準備狀態: {'已準備' if is_ready else '未準備'}")
🏰 第一關:變數類型王國地圖
📊 四大種族介紹表
🏷️ 種族類型 | 🎨 特徵描述 | 💡 魔法範例 | 🔧 常用技能 |
---|---|---|---|
🗡️ 整數戰士 (int) | 堅強不屈,永遠完整 | strength = 85 | 計算、計數、索引 |
🌊 浮點數精靈 (float) | 精確靈活,擅長精密計算 | accuracy = 87.5 | 測量、比率、科學計算 |
🎭 字串法師 (str) | 善於溝通,掌控文字 | spell = "火球術" | 文本處理、訊息傳遞 |
🔮 布林值巫師 (bool) | 二元智慧,真假之主 | is_magic = True | 邏輯判斷、條件控制 |
⚡ 複數煉金術士 (complex) | 神秘莫測,超越現實 | portal = 3+4j | 高等數學、工程計算 |
🎯 實戰演練:召喚你的第一個變數軍團
# 🌟 召喚儀式開始!
print("\n🌟 開始召喚變數夥伴...")
# 整數戰士 - 強壯可靠
warrior_hp = 120
warrior_attack = 45
print(f"⚔️ 整數戰士召喚成功!HP: {warrior_hp}, 攻擊力: {warrior_attack}")
# 浮點數精靈 - 精準敏捷
elf_speed = 89.7
elf_accuracy = 0.95
print(f"🧚♀️ 浮點數精靈降臨!速度: {elf_speed}, 命中率: {elf_accuracy}")
# 字串法師 - 智慧博學
mage_name = "艾莉西亞"
mage_spell = "冰霜新星"
print(f"🔮 字串法師 {mage_name} 準備施展 '{mage_spell}'")
# 布林值巫師 - 真假之主
is_blessed = True
can_fly = False
print(f"🎭 布林值巫師狀態 - 祝福: {is_blessed}, 飛行: {can_fly}")
⚔️ 第二關:類型轉換煉金工坊
🧪 煉金術基礎配方
print("\n🧪 歡迎來到類型轉換煉金工坊!")
print("=" * 40)
# 原始材料
gold_ore = "500" # 字串形式的金礦石
silver_dust = 25.8 # 浮點數銀粉
magic_gems = True # 布林值魔法寶石
print("📦 原始材料清單:")
print(f" 金礦石(str): '{gold_ore}'")
print(f" 銀粉(float): {silver_dust}")
print(f" 魔法寶石(bool): {magic_gems}")
# 🔄 煉金轉換過程
print("\n⚡ 開始煉金轉換...")
# 字串 → 整數
pure_gold = int(gold_ore)
print(f"✨ 金礦石提純: '{gold_ore}' → {pure_gold} 金幣")
# 浮點數 → 整數 (小數部分會消失!)
solid_silver = int(silver_dust)
print(f"🔨 銀粉固化: {silver_dust} → {solid_silver} 銀塊")
# 布林值 → 整數 (True=1, False=0)
gem_power = int(magic_gems)
print(f"💎 寶石能量轉換: {magic_gems} → {gem_power} 點能量")
# 計算總財富
total_wealth = pure_gold + solid_silver + gem_power
print(f"\n💰 總財富: {total_wealth} 金幣等值")
⚠️ 煉金術警告與技巧
# 🚨 危險的轉換實驗
print("\n⚠️ 煉金術安全提醒:")
try:
# 這會發生錯誤!
wrong_conversion = int("魔法石")
except ValueError as e:
print(f"❌ 轉換失敗: 無法將 '魔法石' 轉為整數")
# ✅ 安全的轉換方法
safe_number = "123"
if safe_number.isdigit():
converted = int(safe_number)
print(f"✅ 安全轉換: '{safe_number}' → {converted}")
🏟️ 第三關:變數運算競技場
🎪 數學魔法表演
print("\n🎪 歡迎來到變數運算競技場!")
print("觀眾們,請欣賞精彩的數學魔法表演!")
# 🎭 表演道具準備
magic_box_a = 15
magic_box_b = 7
magic_multiplier = 2.5
print(f"\n🎩 魔術師拿出兩個魔法盒:")
print(f" 盒子A: {magic_box_a}")
print(f" 盒子B: {magic_box_b}")
# 🎪 開始表演
print("\n✨ 魔法表演開始...")
addition_magic = magic_box_a + magic_box_b
print(f"➕ 加法魔法: {magic_box_a} + {magic_box_b} = {addition_magic}")
subtraction_magic = magic_box_a - magic_box_b
print(f"➖ 減法魔法: {magic_box_a} - {magic_box_b} = {subtraction_magic}")
multiplication_magic = magic_box_a * magic_multiplier
print(f"✖️ 乘法魔法: {magic_box_a} × {magic_multiplier} = {multiplication_magic}")
division_magic = magic_box_a / magic_box_b
print(f"➗ 除法魔法: {magic_box_a} ÷ {magic_box_b} = {division_magic:.2f}")
# 🎊 高級魔法
power_magic = magic_box_a ** 2
remainder_magic = magic_box_a % magic_box_b
print(f"⚡ 乘方魔法: {magic_box_a}² = {power_magic}")
print(f"🔄 餘數魔法: {magic_box_a} % {magic_box_b} = {remainder_magic}")
🎯 第四關:互動挑戰副本
🏰 初級副本:角色創建系統
def create_character():
"""🎮 RPG角色創建系統"""
print("\n🏰 歡迎來到角色創建神殿!")
print("=" * 35)
# 收集玩家資訊
name = input("🧙♂️ 請輸入角色名稱: ")
# 年齡驗證與處理
while True:
try:
age = int(input("🎂 請輸入角色年齡: "))
if age > 0:
break
else:
print("❌ 年齡必須是正數!")
except ValueError:
print("❌ 請輸入有效的數字!")
# 職業選擇
print("\n⚔️ 選擇職業:")
print("1. 戰士 2. 法師 3. 弓箭手")
job_choice = input("輸入選擇 (1-3): ")
jobs = {"1": "戰士", "2": "法師", "3": "弓箭手"}
job = jobs.get(job_choice, "冒險者")
# 計算初始屬性
base_hp = 100 + age * 2
base_mp = 50 + len(name) * 5
# 職業加成
if job == "戰士":
base_hp += 50
elif job == "法師":
base_mp += 50
elif job == "弓箭手":
base_hp += 25
base_mp += 25
# 顯示角色資訊
print("\n🌟 角色創建完成!")
print("=" * 30)
print(f"👤 姓名: {name}")
print(f"🎂 年齡: {age} 歲")
print(f"⚔️ 職業: {job}")
print(f"❤️ 生命值: {base_hp}")
print(f"💙 魔法值: {base_mp}")
return name, age, job, base_hp, base_mp
# 執行角色創建
# character_info = create_character()
🏺 中級副本:寶藏評估系統
def treasure_evaluator():
"""💰 智能寶藏評估系統"""
print("\n💰 歡迎來到寶藏評估中心!")
print("請輸入您發現的寶藏資訊...")
treasures = []
total_value = 0
# 收集寶藏資訊
items = ["金幣", "銀幣", "寶石", "古董"]
for item in items:
while True:
try:
amount = input(f"💎 {item}數量 (輸入0跳過): ")
amount = float(amount) if '.' in amount else int(amount)
if amount >= 0:
break
else:
print("❌ 數量不能為負數!")
except ValueError:
print("❌ 請輸入有效的數字!")
if amount > 0:
# 設定基礎價值
base_values = {"金幣": 1, "銀幣": 0.1, "寶石": 50, "古董": 200}
value = amount * base_values[item]
treasures.append((item, amount, value))
total_value += value
# 顯示評估結果
print("\n📊 寶藏評估報告")
print("=" * 40)
if treasures:
for item, amount, value in treasures:
print(f"💎 {item}: {amount} 件 (價值: {value:.2f} 金幣)")
print("-" * 40)
print(f"💰 總價值: {total_value:.2f} 金幣")
# 評級系統
if total_value >= 1000:
grade = "傳說級寶藏 🏆"
elif total_value >= 500:
grade = "稀有寶藏 💎"
elif total_value >= 100:
grade = "普通寶藏 💰"
else:
grade = "新手寶藏 🎁"
print(f"🏷️ 寶藏等級: {grade}")
else:
print("😅 沒有發現任何寶藏...")
# 執行寶藏評估
# treasure_evaluator()
🧙♂️ 高級副本:類型偵測大師
def type_detective():
"""🔍 變數類型偵探遊戲"""
print("\n🔍 歡迎來到類型偵探事務所!")
# 神秘的證據收集
evidence = [
42, # 整數線索
3.14159, # 浮點數線索
"密碼", # 字串線索
True, # 布林值線索
2+3j, # 複數線索
[1,2,3], # 列表線索
{"key": "value"} # 字典線索
]
print("📋 發現以下神秘證據,請進行類型分析...")
print("=" * 50)
type_count = {}
for i, item in enumerate(evidence, 1):
item_type = type(item).__name__
# 類型圖標映射
type_icons = {
'int': '🔢',
'float': '🌊',
'str': '📝',
'bool': '🔮',
'complex': '⚡',
'list': '📋',
'dict': '📚'
}
icon = type_icons.get(item_type, '❓')
print(f"{icon} 證據 #{i}: {item} → 類型: {item_type}")
# 統計類型
type_count[item_type] = type_count.get(item_type, 0) + 1
# 顯示統計結果
print("\n📊 偵探報告 - 類型統計:")
print("-" * 30)
for type_name, count in type_count.items():
icon = type_icons.get(type_name, '❓')
print(f"{icon} {type_name}: {count} 個")
print(f"\n🏆 恭喜!您成功分析了 {len(evidence)} 個證據!")
# 執行類型偵探
# type_detective()
🏆 第五關:最終Boss挑戰
👑 變數大師認證考試
def master_certification():
"""🎓 變數大師認證系統"""
print("\n👑 變數大師認證考試")
print("=" * 40)
score = 0
max_score = 5
# 考題1: 類型識別
print("\n📚 考題1: 類型識別 (1分)")
test_var = 42.0
answer = input(f"變數 {test_var} 的類型是? (int/float/str/bool): ")
if answer.lower() == 'float':
score += 1
print("✅ 正確!")
else:
print(f"❌ 錯誤!正確答案是 float")
# 考題2: 類型轉換
print("\n🔄 考題2: 類型轉換 (1分)")
print("int('123') 的結果是?")
try:
answer = int(input("請輸入答案: "))
if answer == 123:
score += 1
print("✅ 正確!")
else:
print("❌ 錯誤!正確答案是 123")
except:
print("❌ 錯誤!正確答案是 123")
# 考題3: 運算結果
print("\n➕ 考題3: 運算計算 (1分)")
print("15 // 4 的結果是?")
try:
answer = int(input("請輸入答案: "))
if answer == 3:
score += 1
print("✅ 正確!")
else:
print("❌ 錯誤!正確答案是 3 (整數除法)")
except:
print("❌ 錯誤!正確答案是 3")
# 考題4: 布林值運算
print("\n🔮 考題4: 布林值邏輯 (1分)")
print("True and False 的結果是? (True/False)")
answer = input("請輸入答案: ")
if answer.lower() == 'false':
score += 1
print("✅ 正確!")
else:
print("❌ 錯誤!正確答案是 False")
# 考題5: 綜合應用
print("\n🎯 考題5: 綜合應用 (1分)")
print("str(100) + str(200) 的結果是?")
answer = input("請輸入答案: ")
if answer == '100200':
score += 1
print("✅ 正確!")
else:
print("❌ 錯誤!正確答案是 '100200'")
# 計算成績
percentage = (score / max_score) * 100
print(f"\n🎓 考試結果")
print("=" * 25)
print(f"📊 得分: {score}/{max_score} ({percentage:.1f}%)")
if percentage >= 90:
rank = "🏆 變數大師"
message = "恭喜您!已達到大師級水準!"
elif percentage >= 70:
rank = "⭐ 變數專家"
message = "表現優秀!繼續加油!"
elif percentage >= 50:
rank = "📚 變數學徒"
message = "基礎不錯,還需多加練習!"
else:
rank = "🌱 變數新手"
message = "建議重新學習基礎概念!"
print(f"🏷️ 認證等級: {rank}")
print(f"💬 評語: {message}")
# 執行認證考試
# master_certification()
📈 學習進度追蹤圖表
graph LR
A[🌱 變數新手
0-25%] --> B[📚 變數學徒
26-50%] B --> C[⭐ 變數專家
51-75%] C --> D[🏆 變數大師
76-100%] A -.->|需要加強| E[重新學習基礎] B -.->|繼續努力| F[多做練習] C -.->|接近目標| G[挑戰進階] D -.->|恭喜完成| H[開始下一章] style A fill:#ffeccf style B fill:#e3f2fd style C fill:#f3e5f5 style D fill:#e8f5e8
0-25%] --> B[📚 變數學徒
26-50%] B --> C[⭐ 變數專家
51-75%] C --> D[🏆 變數大師
76-100%] A -.->|需要加強| E[重新學習基礎] B -.->|繼續努力| F[多做練習] C -.->|接近目標| G[挑戰進階] D -.->|恭喜完成| H[開始下一章] style A fill:#ffeccf style B fill:#e3f2fd style C fill:#f3e5f5 style D fill:#e8f5e8
🎯 成就系統與徽章收集
🏅 可獲得成就
- 🔰 新手上路: 完成第一個變數宣告
- 🔄 轉換達人: 成功進行10次類型轉換
- 🧮 計算專家: 完成所有運算挑戰
- 🔍 類型偵探: 正確識別所有資料類型
- 🎓 認證大師: 通過最終認證考試
- 🌟 完美通關: 所有關卡滿分通過
📝 學習檢查清單
- ✅ 理解變數的概念和作用
- 🔢 掌握整數(int)的特性和用法
- 🌊 了解浮點數(float)的精確度問題
- 📝 熟練字串(str)的基本操作
- 🔮 理解布林值(bool)的邏輯運算
- ⚡ 認識複數(complex)的基礎概念
- 🔄 掌握各種類型轉換方法
- 🧮 能夠進行基本變數運算
- 🎯 完成所有互動挑戰
- 🏆 通過變數大師認證
🚀 下一步學習建議
- 條件判斷與邏輯運算 - 學習 if/elif/else 語句
- 迴圈結構 - 掌握 for 和 while 迴圈
- 函數定義 - 學習創建可重複使用的程式碼
- 資料結構 - 探索 list、dict、tuple 等容器
- 檔案操作 - 學習讀寫外部檔案
💡 進階思考題
🤔 實務應用思考
遊戲開發場景:
- 玩家血量用什麼資料類型最合適?為什麼?
- 如何設計一個升級系統的經驗值計算?
生活應用場景:
- 設計一個智能家電控制系統需要哪些變數類型?
- 購物網站的商品價格應該用什麼資料類型?
效能優化思考:
- 什麼情況下使用整數比浮點數更有效率?
- 如何選擇最適合的資料類型來節省記憶體?
🎮 創意延伸專案
- 🏪 虛擬商店系統: 結合所學知識創建一個簡單的購物系統
- 🎲 骰子遊戲: 設計一個使用各種變數類型的擲骰子遊戲
- 📊 個人財務管理: 創建一個記錄收支的小程式
- 🌡️ 溫度轉換器: 製作攝氏與華氏溫度互轉工具
🎉 恭喜您完成Python變數冒險第1章!
您已經成功掌握了Python程式設計的基礎魔法。現在您擁有了強大的變數操控能力,準備好迎接更刺激的程式冒險了嗎?
下一章我們將探索「條件判斷與邏輯冒險」,學習如何讓程式做出智慧的決策!
🌟 記住:每一位程式大師都是從變數開始的,您已經踏出了重要的第一步!