반응형
먼저 hangman의 사전적인 뜻을 알아 보겠습니다.
"hang"은 걸다, 매달다, 매달리다의 뜻이며
"hangman"은 교수형 집행인의 뜻입니다.
~~ 으, 무서워
행맨 게임은 한 문자씩 입력해서 일정한 시간 또는 횟수 이내에 주어진 단어를 맞추는 게임입니다.
다음 코드는 파이썬으로 만든 행맨 게임입니다.
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)
반응형
'Python' 카테고리의 다른 글
(파이썬) 지정한 폴더의 파일 목록 출력하기 (하위디렉토리 포함) (41) | 2023.12.26 |
---|---|
(파이썬) 터틀그래픽: 랜덤하게 별 그리기 (94) | 2023.12.18 |
(파이썬) 덧셈 뺄셈 계산하기 게임 프로그램: 사칙연산 더하기 빼기 계산해서 맞추기 (84) | 2023.12.16 |
(파이썬) random.randint(): 숫자 맞추기 게임 (98) | 2023.12.15 |
(파이썬) 터틀 그래픽: 막대 그래프 그리기 (84) | 2023.12.14 |