한다 공부
[Python] 실습2 : 행맨 게임 (+file open) 본문
이번에는 파이썬으로 행맨을 해보자
행맨은 익히들 아는 그 게임..
단어를 랜덤으로 고른다.
-> 수많은 영어 단어를 적어둔 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()
실행해보면 다음과 같은 결과가 나온다
원래 행맨은 졸라맨? 그려져있는거긴한데
이건 텍스트 기반 게임이라 .. ㅎㅎ
단어 모아둔 파일은 아래에!
참고자료 "두근두근 파이썬" (생능출판, 천인국)
'Dev > Python' 카테고리의 다른 글
[Django] Model, ERD (0) | 2022.08.08 |
---|---|
[Python] 실습5 : 인치 -> 센티미터 변환기 (+Tkinter) (1) | 2021.07.23 |
[Python] 실습4 : 그림판 프로그램 구현 (+Tkinter) (0) | 2021.07.23 |
[Python] 실습3 : 메모장 프로그램 구현 (0) | 2021.07.23 |
[Python] 실습1 : 누적 합 계산기 (+Tkinter) (1) | 2021.07.23 |