接上一篇博客
🎮 猜數字小游戲 - Python版
🧠 游戲規則:
- 系統隨機生成一個 1 到 10 的整數
- 玩家輸入猜測的數字
- 使用 if 語句判斷玩家猜得是否正確
- 提示“猜對了”或“太大/太小了”
import randomsecret_number = random.randint(1, 10)
attempts = 0 # 嘗試次數print("歡迎來到猜數字游戲!")
print("我已經想好了一個 1 到 10 之間的數字。")
print("快來猜一猜吧!")while True:guess = int(input("你猜多少? "))attempts += 1if guess == secret_number:print(f"🎉 恭喜你,猜對了!你總共猜了 {attempts} 次。")breakelif guess < secret_number:print("太小了,再試一次。")else:print("太大了,再試一次。")
運行結果:
歡迎來到猜數字游戲!
我已經想好了一個 1 到 10 之間的數字。
快來猜一猜吧!
你猜多少? 6
太小了,再試一次。
你猜多少? 8
太小了,再試一次。
你猜多少? 9
🎉 恭喜你,猜對了!你總共猜了 3 次。
🕹? 邏輯闖關小游戲:真假偵探
🎯 游戲說明:
你是一個偵探,需要判斷陳述是真(True)是假(False)來過關,每一關用邏輯運算符進行判斷。
? 邏輯背景知識復習:
運算符 | 含義 | 示例 | 結果 |
---|---|---|---|
and | 與,兩個都為真才為真 | True and False | False |
or | 或,一個為真就為真 | True or False | True |
not | 非,取反 | not True | False |
def level_1():print("Level 1: 小明說他昨天去了學校(True),小紅說他昨天在家(False)。他們說的是同一件事,都是對的嗎?")answer = input("請輸入 True 或 False:")correct = True and Falsereturn str(correct) == answerdef level_2():print("Level 2: 小剛說今天下雨(False),小華說天氣很好(True)。只要一個人說對了,我們就不帶傘。可以不帶傘嗎?")answer = input("請輸入 True 或 False:")correct = False or Truereturn str(correct) == answerdef level_3():print("Level 3: 小麗說她沒有說謊(False)。她真的沒說謊嗎?")answer = input("請輸入 True 或 False:")correct = not Falsereturn str(correct) == answerdef play_game():print("🎮 歡迎來到邏輯偵探小游戲!答對三題就通關!")if level_1() and level_2() and level_3():print("🎉 恭喜你,邏輯通關成功!")else:print("? 很遺憾,有答錯的地方,邏輯再練練吧~")play_game()
運行結果
🎮 歡迎來到邏輯偵探小游戲!答對三題就通關!
Level 1: 小明說他昨天去了學校(True),小紅說他昨天在家(False)。他們說的是同一件事,都是對的嗎?
請輸入 True 或 False:False
Level 2: 小剛說今天下雨(False),小華說天氣很好(True)。只要一個人說對了,我們就不帶傘。可以不帶傘嗎?
請輸入 True 或 False:True
Level 3: 小麗說她沒有說謊(False)。她真的沒說謊嗎?
請輸入 True 或 False:True
🎉 恭喜你,邏輯通關成功!
真假判斷小游戲
def comparison_game():print("🎯 比較運算符小游戲,判斷每個表達式是 True 還是 False")score = 0questions = [("5 == 5", True),("7 < 3", False),("8 != 8", False),("9 >= 6", True),("4 <= 4", True),("10 > 100", False)]for expr, correct in questions:print(f"題目:{expr}")answer = input("你認為是 True 還是 False?:")if answer.strip() == str(correct):print("? 回答正確!\n")score += 1else:print(f"? 錯了,正確答案是 {correct}\n")print(f"🎉 游戲結束,你的得分是 {score}/{len(questions)}")comparison_game()
運行結果
🎯 比較運算符小游戲,判斷每個表達式是 True 還是 False
題目:5 == 5
你認為是 True 還是 False?:True
? 回答正確!題目:7 < 3
你認為是 True 還是 False?:false
? 錯了,正確答案是 False題目:8 != 8
你認為是 True 還是 False?:False
? 回答正確!題目:9 >= 6
你認為是 True 還是 False?:True
? 回答正確!題目:4 <= 4
你認為是 True 還是 False?:True
? 回答正確!題目:10 > 100
你認為是 True 還是 False?:False
? 回答正確!🎉 游戲結束,你的得分是 5/6
🏋??♂? 控制臺小游戲:重量轉換器(Weight Converter Game)
🎯 功能說明:
- 用戶輸入數字和單位(公斤或磅)
- 程序轉換成另一單位并顯示
- 用 if 語句判斷體重是否“太輕”、“正常”、“太重”
- 循環支持多次游戲,直到用戶退出
def convert_weight(weight, unit):if unit == "kg":converted = weight * 2.20462print(f"{weight} 公斤 = {converted:.2f} 磅")if weight > 100:print("🏋??♂? 你太重了!")elif weight < 40:print("🪶 太輕了!")else:print("? 體重正常")elif unit == "lb":converted = weight / 2.20462print(f"{weight} 磅 = {converted:.2f} 公斤")if converted > 100:print("🏋??♂? 你太重了!")elif converted < 40:print("🪶 太輕了!")else:print("? 體重正常")else:print("單位無效!請輸入 'kg' 或 'lb'")print("🎮 歡迎來到重量轉換小游戲!")
print("你可以輸入一個體重數值,然后選擇單位(kg 或 lb)進行轉換。")while True:value = input("\n請輸入體重(數字):")if not value.replace('.', '', 1).isdigit():print("?? 請輸入合法數字!")continueweight = float(value)unit = input("請輸入單位(kg 或 lb):").lower()convert_weight(weight, unit)again = input("是否繼續?(y/n): ").lower()if again != 'y':print("👋 游戲結束,再見!")break
運行結果
🎮 歡迎來到重量轉換小游戲!
你可以輸入一個體重數值,然后選擇單位(kg 或 lb)進行轉換。請輸入體重(數字):90
請輸入單位(kg 或 lb):kg
90.0 公斤 = 198.42 磅
? 體重正常
是否繼續?(y/n): n
👋 游戲結束,再見!
While Loops - While 循環
i = 1
while i <= 5:print(' '*(5-i),end='')print('* ' * i)i += 1
print("Done")
輸出
* * * * * * * * * *
* * * * *
Done
虛擬汽車控制游戲
import randomprint("🚗 歡迎來到虛擬汽車控制游戲!")
print("輸入 'help' 查看所有命令。\n")command = ""
started = False
speed = 0
fuel = 100
game_over = Falsedef trigger_random_event():chance = random.randint(1, 100)if chance <= 10:return "flat_tire"elif chance <= 15:return "engine_failure"return Nonewhile True:if game_over:print("💥 汽車拋錨,游戲結束。請重新啟動程序。")breakcommand = input("> ").lower().strip()if command == "start":if started:print("?? 汽車已經啟動了!")else:started = Trueprint("🔑 汽車啟動成功!準備出發!")elif command == "stop":if not started:print("?? 汽車已經停止了!")else:started = Falsespeed = 0print("🛑 汽車已停止,速度清零。")elif command == "speed up":if not started:print("🚫 請先啟動汽車才能加速!")elif fuel <= 0:print("? 沒油了!請加油后再試。")else:event = trigger_random_event()if event == "flat_tire":speed = 0print("💥 爆胎了!汽車速度歸零,請減速或停車檢查。")continueelif event == "engine_failure":started = Falsespeed = 0game_over = Trueprint("💣 引擎拋錨了!汽車無法繼續行駛。")continuespeed += 10fuel -= 10print(f"🏎? 你加速了!當前速度:{speed} km/h | 剩余油量:{fuel}")elif command == "slow down":if not started:print("🚫 請先啟動汽車才能減速!")elif speed == 0:print("?? 你已經停止了,不能再減速了。")else:event = trigger_random_event()if event == "flat_tire":speed = 0print("💥 爆胎了!汽車速度歸零,請減速或停車檢查。")continueelif event == "engine_failure":started = Falsespeed = 0game_over = Trueprint("💣 引擎拋錨了!汽車無法繼續行駛。")continuespeed -= 10if speed < 0:speed = 0print(f"🧯 你減速了。當前速度:{speed} km/h")elif command == "status":car_status = "已啟動" if started else "已停止"print(f"""
🚘 車輛狀態:
狀態:{car_status}
當前速度:{speed} km/h
油量:{fuel} / 100""")elif command == "help":print("""
======== 🆘 幫助菜單 =========
start - 啟動汽車
stop - 停止汽車
speed up - 加速(10% 爆胎,5% 拋錨)
slow down - 減速(同上)
status - 查看汽車狀態
quit - 退出游戲
==============================""")elif command == "quit":print("👋 再見!感謝你體驗虛擬汽車游戲!")breakelse:print("? 不認識這個命令,輸入 'help' 獲取幫助。")
運行結果
🚗 歡迎來到虛擬汽車控制游戲!
輸入 'help' 查看所有命令。> help======== 🆘 幫助菜單 =========
start - 啟動汽車
stop - 停止汽車
speed up - 加速(10% 爆胎,5% 拋錨)
slow down - 減速(同上)
status - 查看汽車狀態
quit - 退出游戲
==============================> start
🔑 汽車啟動成功!準備出發!
> speed up
🏎? 你加速了!當前速度:10 km/h | 剩余油量:90
> speed up
🏎? 你加速了!當前速度:20 km/h | 剩余油量:80
> speed up
🏎? 你加速了!當前速度:30 km/h | 剩余油量:70
> speed up
🏎? 你加速了!當前速度:40 km/h | 剩余油量:60
> speed up
🏎? 你加速了!當前速度:50 km/h | 剩余油量:50
> speed up
🏎? 你加速了!當前速度:60 km/h | 剩余油量:40
> speed up
🏎? 你加速了!當前速度:70 km/h | 剩余油量:30
> speed up
🏎? 你加速了!當前速度:80 km/h | 剩余油量:20
> speed up
🏎? 你加速了!當前速度:90 km/h | 剩余油量:10
> speed up
🏎? 你加速了!當前速度:100 km/h | 剩余油量:0
> speed up
? 沒油了!請加油后再試。
> slow down
🧯 你減速了。當前速度:90 km/h
> status🚘 車輛狀態:狀態:已啟動當前速度:90 km/h油量:0 / 100>
Nested Loops - 嵌套循環
numbers = [5, 2, 5, 2, 2]
for x_count in numbers:output = ''for count in range(x_count):output += 'x'print(output)
"""
運行結果
xxxxx
xx
xxxxx
xx
xx
"""