관리 메뉴

한다 공부

[Python] 실습2 : 행맨 게임 (+file open) 본문

Dev/Python

[Python] 실습2 : 행맨 게임 (+file open)

사과당근 2021. 7. 23. 01:52

이번에는 파이썬으로 행맨을 해보자

행맨은 익히들 아는 그 게임..

 

단어를 랜덤으로 고른다.

-> 수많은 영어 단어를 적어둔 words.txt라는 파일을 준비한다. (첨부파일)

 

랜덤으로 고른 단어의 알파벳을 추측한다.

해당 단어에 알파벳이 있으면 어디에 그 알파벳이 있는지 알려준다

없으면 재시도한다.

 

총 기회는 10번이고 10번 안쪽으로 맞추면 성공이고

10번을 추측했는데도 틀리면 실패이다.

 

import random

guesses = ""
turns = 10

#words파일을 열기
infile = open("words.txt", "r")
#파일에서 모든 줄을 읽어서 리스트로 반환한다. =readlines()
lines = infile.readlines() 
#랜덤으로 하나를 고른다
word = random.choice(lines)
#리스트의 문자열은 apple\n 이런식으로 저장되는데 \n 제거 =rstrip()
word = word.rstrip()

while turns > 0: 
    failed = 0 
    #추측한 알파벳이 단어에 있으면 알파벳 출력
    for char in word:
        if char in guesses: 
            print(char, end="") 
        else: #추측한 알파벳이 단어에 없으면 _로 출력
            print("_", end="") 
            failed += 1
    if failed == 0: 
        print("사용자 승리")
        break 
    print("")
    
    guess = input("단어를 추측하시오: ") 
    guesses += guess
    if guess not in word: #추측한 알파벳이 단어에 없으면
        turns -= 1 
        print ("틀렸음!")
        print (turns, "기회가 남았음!") 
        if turns == 0: 
            print("사용자 패배 정답은", word)
infile.close()

 

실행해보면 다음과 같은 결과가 나온다

실행 화면

 

원래 행맨은 졸라맨? 그려져있는거긴한데

이건 텍스트 기반 게임이라 .. ㅎㅎ

 

 

단어 모아둔 파일은 아래에!

words.txt
0.01MB

 

 

참고자료 "두근두근 파이썬" (생능출판, 천인국)