본문 바로가기

개발 공부/Python

프로그래밍 시작하기 : 파이썬 입문 10. 최종 프로젝트

프로그래밍 시작하기 : 파이썬 입문(inflearn Original)

 

버전 1.

# Cahpter 10-1
# Hangman(행맨) 미니 게임 제작(1)

import time

#처음 인사
name = input("What is ur name? ")
print("Hi, " + name, "Time to play hangman game!")
print()

time.sleep(1)
print("Start Loading...")
print()
time.sleep(0.5)

# 정답 단어
word = "secret"

# 추측 단어
guesses = ''

# 기회
turns = 10

# 핵심 While loop
# 찬스 카운트가 남아 있을 경우
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()
        print()
        print('Congratulations! The Guesses is correct.')

        break
    print()

# 추측 단어 문자 단위 입력
    print()
    guess = input("Guess a character.")

# 단어 더하기
    guesses += guess

# 정답 단어에 추측한 문자가 포함되어 있지 않으면
    if guess not in word:
        turns -= 1
        print("Oops! Wrong")
        print("you have" , turns, " more guesses!")

    if turns == 0:
        print("You hanman game failed. Bye!")

 

버전2

# Cahpter 10-02
# Hangman(행맨) 미니 게임 제작(2)
# 프로그램 작성 및 최종 테스트
import time
import csv
import random
import winsound

#처음 인사
name = input("What is ur name? ")
print("Hi, " + name, "Time to play hangman game!")
print()

time.sleep(1)
print("Start Loading...")
print()
time.sleep(0.5)

# CSV 단어 리스트
words = []

# 문제 csv 파일 로드
with open('./word_list.csv', 'r')  as f:
    reader = csv.reader(f)
    # Header Skip
    next(reader)
    for c in reader:
        words.append(c)


#리스트 섞기
random.shuffle(words)
q = random.choice(words)

# 정답 단어
word = q[0].strip() # 공백 제거

# 추측 단어
guesses = ''

# 기회
turns = 10

# 핵심 While loop
# 찬스 카운트가 남아 있을 경우
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()
        print()
        winsound.PlaySound('./good.wav', winsound.SND_FILENAME)
        print('Congratulations! The Guesses is correct.')
        # 성공 사운드

        break
    print()

# 추측 단어 문자 단위 입력
    print()
    print('Hind : {}'.format(q[1].strip()))
    guess = input("Guess a character.")

# 단어 더하기
    guesses += guess

# 정답 단어에 추측한 문자가 포함되어 있지 않으면
    if guess not in word:
        turns -= 1
        print("Oops! Wrong")
        print("you have" , turns, " more guesses!")

    if turns == 0:
        winsound.PlaySound('./bad.wav', winsound.SND_FILENAME)
        print("You hanman game failed. Bye!")