반응형
문제 파일에서 하나의 단어를 무작위로 출제하고 단어를 맞추는 행 맨 프로그램을 작성해보자.
import random
infile = open('hangman.txt', 'r')
lines = infile.readlines()
word = random.choice(lines).rstrip()
solution = list(word)
result = list('_'*len(word))
turns = 10
while turns > 0:
guess = input('단어를 추측하세요: ')
turns -= 1
i = 0
for c in word:
if c == guess:
result[i] = c
i += 1
print(result)
if result == solution:
print('성공입니다.')
break
if turns <= 0:
print('실패하였습니다.')
break
infile.close()
import random
infile = open('hangman.txt', 'r')
lines = infile.readlines()
word = random.choice(lines).rstrip()
▶ hangman.txt 파일을 읽기 모드로 열어줌
→ 문제 파일을 열어 무작위로 1개의 단어를 선택
▶ solution = list(word) : list()는 문자열을 받아 리스트로 변환함
→ word를 리스트로 받아 solution에 저장함
▶ result = list('_'*len(word)) : 리스트에 저장된 단어의 글자 수 만큼 '_'를 곱해 표현
turns = 10
while turns > 0:
guess = input('단어를 추측하세요: ')
turns -= 1
i = 0
for c in word:
if c == guess:
result[i] = c
i += 1
print(result)
if result == solution:
print('성공입니다.')
break
if turns <= 0:
print('실패하였습니다.')
break
▶ 사용자가 문제를 맞히거나 남은 틀릴 기회 횟수가 0이 될 때까지 문제는 계속 출제됨
→ 조건제어 반복을 이용해 사용자가 문제를 맞히거나 기회 횟수가 0이 될 때까지 반복했다가 성공하거나 조건에 맞지 않으면 반복문이 중지됨
→ 문제를 먼저 보여주고 사용자의 입력을 기다리는데, 처음에는 모든 글자를 '_'로 보여주고 사용자가 글자를 맞추면 해당 위치의 글자를 보여줌
▶ 행 맨에 필요한 문제 파일을 단어와 단어 사이 줄바꿈으로 구분해 저장
▶ 파일 이름은 hangman으로 바꿔 저장
반응형
'Language > Python' 카테고리의 다른 글
[ Python ] 합계와 평균 계산 후 다른 파일에 저장하기 프로그램 (0) | 2021.09.04 |
---|---|
[ Python ] 파일 내용 삭제 프로그램 (0) | 2021.09.04 |
[ Python ] 평균 강수량 통계 프로그램 (0) | 2021.09.04 |
[ Python ] 연설문 데이터 분석 프로그램 (0) | 2021.09.04 |
[ Python ] 파일 복사하기 프로그램 (0) | 2021.09.04 |