Python

(파이썬) 행맨 hangman 게임 소스

고니자니 2023. 12. 17. 19:11
반응형

먼저 hangman의 사전적인 뜻을 알아 보겠습니다.

"hang"은 걸다, 매달다, 매달리다의 뜻이며

"hangman"은 교수형 집행인의 뜻입니다.

행맨 hangman 게임,  gonyzany.tistory.com

~~ 으, 무서워

 

 

행맨 게임은 한 문자씩 입력해서 일정한 시간 또는 횟수 이내에 주어진 단어를 맞추는 게임입니다.

 

다음 코드는 파이썬으로 만든 행맨 게임입니다.

import random

def choose_word():
    words = ["python", "hangman", "programming", "computer", "science", "challenge"]
    return random.choice(words)

def display_word(word, guessed_letters):
    displayed_word = ""
    for letter in word:
        if letter in guessed_letters:
            displayed_word += letter
        else:
            displayed_word += "_"
    return displayed_word

def hangman():
    max_attempts = 6
    guessed_letters = []
    word_to_guess = choose_word()

    print("행맨(Hangman) 게임을 시작합니다!!")
    print(display_word(word_to_guess, guessed_letters))

    while True:
        guess = input("단어를 추측해 보세요: ").lower()

        if guess.isalpha() and len(guess) == 1:
            if guess in guessed_letters:
                print("이미 입력한 문자입니다. 다시 입력하세요.")
            elif guess in word_to_guess:
                guessed_letters.append(guess)
                print("좋아요!")
            else:
                max_attempts -= 1
                print("없는 단어입니다. 기회는 {}번 남았습니다.".format(max_attempts))
            
            print(display_word(word_to_guess, guessed_letters))

            if "_" not in display_word(word_to_guess, guessed_letters):
                print("축하합니다! You guessed the word: {}".format(word_to_guess))
                break

            if max_attempts == 0:
                print("아쉽네요...몇 번 더 기회를 줬으면 맞췄을건데, 시도 횟수가 좀 부족했습니다.\n"
                      "답: {}".format(word_to_guess))
                break
        else:
            print("잘못 입력했습니다. 한 글자의 영어 단어를 입력하세요.")

if __name__ == "__main__":
    hangman()

(Output)

(파이썬) 행맨 hangman 게임 소스, gonyzany.tistory.com

 

(파이썬) 행맨 hangman 게임 소스, gonyzany.tistory.com

 

 

 

반응형