Python 剪刀石頭布遊戲
使用 Python 創建剪刀石頭布遊戲。掌握隨機選擇、使用者輸入驗證和關係規則映射。
概述
石頭剪刀布是標準的遊戲邏輯挑戰。它需要根據特定的遊戲規則驗證輸入並確定獲勝者。
我們可以使用映射字典來實作規則,而不是編寫繁瑣的多層 if/else 梯子。這是高度可擴展的,允許輕鬆擴展規則(例如,添加 Lizard 和 Spock)。
該腳本從標準選擇中隨機選擇,將其與玩家的選擇進行比較,並列印結果(包括分數更新)。
程式碼和執行輸出
石頭剪刀布腳本,說明字典規則匹配和隨機模組。
rps.py
在編輯器中嘗試import random
def get_winner(player, computer):
if player == computer:
return "tie"
# Dictionary mapping choice -> what it beats
winning_rules = {
"rock": "scissors",
"paper": "rock",
"scissors": "paper"
}
if winning_rules[player] == computer:
return "player"
return "computer"
def play_game():
choices = ["rock", "paper", "scissors"]
# Mocking player selections
player_moves = ["rock", "paper", "scissors"]
print("Rock, Paper, Scissors Game!")
# Seed generator for deterministic outputs
random.seed(11)
for player_move in player_moves:
computer_move = random.choice(choices)
winner = get_winner(player_move, computer_move)
print(f"\nPlayer chose: {player_move.capitalize()}")
print(f"Computer chose: {computer_move.capitalize()}")
if winner == "tie":
print("Result: It is a Tie!")
elif winner == "player":
print("Result: Player Wins!")
else:
print("Result: Computer Wins!")
play_game()端子輸出
Rock, Paper, Scissors Game!
Player chose: Rock
Computer chose: Scissors
Result: Player Wins!
Player chose: Paper
Computer chose: Paper
Result: It is a Tie!
Player chose: Scissors
Computer chose: Rock
Result: Computer Wins!逐步實施
- 決定性規則驗證矩陣
- 隨機數選擇器引擎
- 教育控制流邏輯項目
常見問題解答
我如何將其擴展到石頭剪刀布蜥蜴史波克?
只需擴展“winning_rules”字典映射,以便每個鍵都指向它擊敗的元素列表。例如,`'岩石':['剪刀','蜥蜴']`。
如何讓遊戲無限運行直到用戶退出?
將互動邏輯包裝在「while True:」迴圈內,並在玩家輸入「退出」時中斷執行。