這是一個非常有趣的 拉霸機 (Slot Machine) 模擬程式設計練習!
這個 Python 程式將會實現以下功能:
讓使用者設定本局最多可拉的次數。
模擬 1 到 9 的隨機數字拉霸。
判斷是否出現三個 7 (
777)。達到中獎或次數用盡時停止。
詢問使用者是否再玩一局。
我們將使用 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()
程式碼執行說明:
import random: 引入 Python 的隨機數模組。play_slot_machine()函式: 負責處理一整局遊戲的邏輯。輸入次數: 使用
while True和try/except確保使用者輸入的是一個有效的正整數。while pull_count < max_pulls: 這是主遊戲迴圈,只要拉霸次數未用完,就會繼續執行。random.randint(1, 9): 這是核心拉霸動作,生成 1 到 9 之間的整數。中獎判斷: 使用
if r1 == 7 and r2 == 7 and r3 == 7:判斷是否為777,如果是,則使用break結束本局。main()函式: 負責外部控制,使用while play_again.upper() == 'Y'來判斷是否重複執行遊戲函式,直到使用者輸入非Y的內容。
您現在可以複製並運行這段程式碼來體驗您的拉霸機了!您希望我針對程式碼中的哪個部分進行更詳細的解釋呢?
留言
張貼留言