240906 TIL

mj_data·2024년 9월 6일

TIL

목록 보기
8/32

Python 과제 중 단어 맞추기 게임

대학교 1학년 때 팩맨 게임 만들기 과제를 해본 적이 있었는데, 막상 오랜만에 만드려니까 쉽지만은 않았다. 분명 저번 학기때만해도 더 어려운 알고리즘 코딩도 해보고 그랬었는데 벌써 모든 게 다 휘발된 기분이다.

def word_game():
    answer = random.choice(words)
    guess = '_' * len(answer)
    print(f'{len(answer)}자리 단어입니다.')
    print(guess)
    guess_list = []
    life = 9
    while life > 0:
        try_guess = input('알파벳 중 하나를 입력해주세요')
        if try_guess not in guess_list:
            guess_list.append(try_guess)
        if try_guess in answer:
            reveal = ''
            for i in range(len(answer)):
                if answer[i] == try_guess:
                    reveal += answer[i]
                else:
                    reveal += guess[i]
            guess = reveal
            print(guess)
            if '_' not in guess:
                print('단어를 맞췄습니다!')
                break
        else:
            life -= 1
            print(f'오답입니다. 목숨이 줄었습니다. 현재 남은 목숨은 {life}개 입니다')
            print(guess)
        if life == 0:
            print(f'게임 오버입니다. 정답은 "{answer}"입니다')
        print(f'지금까지 시도해본 단어: {guess_list}')

사실 문제에서 요구된 사항은 단어 자릿수 알려주기, 맞춘 알파벳 드러내기, 승리 및 패배 조건 뿐이지만, 입력을 소문자 혹은 대문자까지의 알파벳으로 제한하기, 이전 입력과 중복되는 알파벳 입력 시 알림 후 재입력 기능도 추가해보고 싶다.
오늘은 guess_list 기능을 추가해 본 것으로 만족한다.

0개의 댓글