파이썬 가위바위보 게임
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!단계별 구현
- 결정적인 규칙 검증 매트릭스
- 난수 선택기 엔진
- 교육 제어 흐름 논리 프로젝트
자주 묻는 질문
이것을 가위바위보-도마뱀-스팍으로 어떻게 확장할 수 있나요?
각 키가 승리한 요소 목록을 가리키도록 `wining_rules` 사전 매핑을 확장하기만 하면 됩니다. 예를 들어 ``바위': ['가위', '도마뱀']`입니다.
사용자가 종료할 때까지 게임을 무한히 실행하려면 어떻게 해야 합니까?
'while True:' 루프 안에 상호작용 로직을 래핑하고 플레이어가 'quit'을 입력하면 실행을 중단합니다.