🔢Python 程式練習:3~拉霸機 (Slot Machine) 模擬程式設計練習!

 這是一個非常有趣的 拉霸機 (Slot Machine) 模擬程式設計練習!

這個 Python 程式將會實現以下功能:

  1. 讓使用者設定本局最多可拉的次數。

  2. 模擬 1 到 9 的隨機數字拉霸。

  3. 判斷是否出現三個 7 (777)。

  4. 達到中獎或次數用盡時停止。

  5. 詢問使用者是否再玩一局。

我們將使用 Python 的 random 模組來生成隨機數字。

🎰 Python 拉霸機模擬程式碼

Python
import random

def play_slot_machine():
    """模擬一個拉霸機遊戲回合。"""
    
    # --- 1. 設定最大次數 ---
    while True:
        try:
            max_pulls = int(input("請輸入本局您最多要拉幾次拉霸 (輸入整數):"))
            if max_pulls <= 0:
                print("次數必須大於零。")
                continue
            break
        except ValueError:
            print("輸入錯誤,請輸入一個有效的整數。")

    pull_count = 0
    print("\n--- 遊戲開始! ---")

    # --- 2. 核心拉霸迴圈 ---
    while pull_count < max_pulls:
        pull_count += 1
        
        # 模擬拉霸:生成三個 1 到 9 的隨機數字
        # random.randint(a, b) 會生成包含 a 和 b 的隨機整數
        r1 = random.randint(1, 9)
        r2 = random.randint(1, 9)
        r3 = random.randint(1, 9)
        
        # 將結果組合成字串,方便顯示和判斷
        result_str = f"{r1} {r2} {r3}"

        print(f"\n[第 {pull_count} 次] 拉霸結果: == {result_str} ==")

        # --- 3. 判斷中獎 ---
        if r1 == 7 and r2 == 7 and r3 == 7:
            print("\n🎉🎉🎉 **恭喜!您拉出了三個 7 (777)!大中獎!** 🎉🎉🎉")
            break # 中獎,強制跳出迴圈
            
    # --- 4. 遊戲結束訊息 ---
    print("\n--- 本局結束 ---")
    if pull_count == max_pulls and (r1 != 7 or r2 != 7 or r3 != 7):
        print(f"很可惜,您用完了所有 {max_pulls} 次拉霸機會,下次請再加油!")
    elif pull_count < max_pulls and r1 == 7 and r2 == 7 and r3 == 7:
        print(f"您在第 {pull_count} 次就成功中獎了!")


# --- 5. 詢問是否再玩一局 (主程式迴圈) ---
def main():
    """主遊戲控制流程,處理重複遊戲。"""
    
    play_again = 'Y' # 初始設定為 Y 確保至少玩一局
    
    while play_again.upper() == 'Y':
        play_slot_machine()
        
        # 詢問是否再玩
        play_again = input("\n想要再玩一局嗎? (輸入 **Y/y** 繼續,或按其他鍵結束): ").strip()
        
    print("\n遊戲結束,謝謝您的遊玩!👋")

# 執行主程式
if __name__ == "__main__":
    main()

程式碼執行說明:

  1. import random: 引入 Python 的隨機數模組。

  2. play_slot_machine() 函式: 負責處理一整局遊戲的邏輯。

  3. 輸入次數: 使用 while Truetry/except 確保使用者輸入的是一個有效的正整數。

  4. while pull_count < max_pulls: 這是主遊戲迴圈,只要拉霸次數未用完,就會繼續執行。

  5. random.randint(1, 9): 這是核心拉霸動作,生成 1 到 9 之間的整數。

  6. 中獎判斷: 使用 if r1 == 7 and r2 == 7 and r3 == 7: 判斷是否為 777,如果是,則使用 break 結束本局。

  7. main() 函式: 負責外部控制,使用 while play_again.upper() == 'Y' 來判斷是否重複執行遊戲函式,直到使用者輸入非 Y 的內容。

您現在可以複製並運行這段程式碼來體驗您的拉霸機了!您希望我針對程式碼中的哪個部分進行更詳細的解釋呢?

留言