파이썬 윷놀이 만들며 배우는 랜덤과 조건문 기초 실습

 

 

🐾 파이썬 초보자도 가능한 윷놀이 시뮬레이터

파이썬을 배우면서 “재미있게 무언가를 만들어볼 수 없을까?” 고민하셨다면, 전통 놀이인 윷놀이를 한번 생각해보세요. 👀
어릴 적 누구나 해봤던 그 놀이를 파이썬 코드로 직접 구현해본다면, 프로그래밍이 더 재밌어질 거예요!

이 글에서는 random 모듈조건문을 활용해 윷을 던지고 결과를 판단하는 간단한 프로그램을 만들어보며,
초보자도 이해하기 쉽게 단계별로 설명해드릴게요.

파이썬으로 만든 윷놀이 시뮬레이터를 설명하는 일러스트. 귀여운 검정 고양이 캐릭터가 윷놀이 결과를 보여주는 화면 앞에서 윷을 들고 있다.
파이썬과 랜덤 모듈을 이용해 전통 윷놀이를 구현한 시뮬레이터 예제 이미지

🎲 Step 1: 윷 던지기 결과 만들기

먼저 파이썬의 random 모듈을 사용해 윷을 던지는 기능을 만들어볼게요. 윷은 앞면(‘o’) 또는 뒷면(‘x’) 중 하나가 랜덤하게 나와야 하니까요.

import random

result = ''
for _ in range(4):
    result += random.choice(['o', 'x'])

print("윷 던진 결과:", result)

4개의 윷 막대 중 무작위로 앞면(o)과 뒷면(x)을 결정해서 하나의 문자열로 출력합니다.


🔍 Step 2: 앞면 개수 세기

이제 앞면(‘o’)이 몇 개 나왔는지 세어서 어떤 결과(도, 개, 걸, 윷, 모)가 나왔는지 판단해볼게요.

o_count = result.count('o')
print("앞면 개수:", o_count)

앞면 개수를 기준으로 결과를 구분할 수 있습니다.


🧠 Step 3: 조건문으로 결과 출력하기

조건문을 이용해서 도, 개, 걸, 윷, 모 중 어떤 결과인지 판단해봅시다.

if o_count == 0:
    print("윷! 무려 네 개 전부 뒷면!")
elif o_count == 1:
    print("걸! 세 개가 뒷면이에요.")
elif o_count == 2:
    print("개! 반반 나왔네요.")
elif o_count == 3:
    print("도! 거의 다 앞면이에요.")
elif o_count == 4:
    print("모! 대박입니다!")

이렇게 조건문으로 결과를 다르게 출력하면 더 생동감 있는 시뮬레이션이 됩니다.


🧩 전체 코드 모아보기

지금까지 작성한 코드를 하나로 합치면 아래와 같습니다.

import random

# Step 1: 윷 던지기
result = ''
for _ in range(4):
    result += random.choice(['o', 'x'])

print("윷 던진 결과:", result)

# Step 2: 앞면 개수 세기
o_count = result.count('o')

# Step 3: 결과 출력하기
if o_count == 0:
    print("윷! 무려 네 개 전부 뒷면!")
elif o_count == 1:
    print("걸! 세 개가 뒷면이에요.")
elif o_count == 2:
    print("개! 반반 나왔네요.")
elif o_count == 3:
    print("도! 거의 다 앞면이에요.")
elif o_count == 4:
    print("모! 대박입니다!")

🚀 확장 아이디어 & 예시 코드

1. 사용자 이름을 입력받아 결과 출력에 포함하기

name = input("당신의 이름은? ")
print(f"{name}님, 윷을 던져볼게요!")

2. 점수판 기능 – 여러 번 던지기

score = 0

for turn in range(5):
    result = ''
    for _ in range(4):
        result += random.choice(['o', 'x'])
    o_count = result.count('o')

    print(f"{turn+1}번째 던진 결과: {result}")

    if o_count == 4:
        print("모! +5점")
        score += 5
    elif o_count == 3:
        print("도! +1점")
        score += 1
    elif o_count == 2:
        print("개! +2점")
        score += 2
    elif o_count == 1:
        print("걸! +3점")
        score += 3
    else:
        print("윷! +4점")
        score += 4

print(f"총점: {score}점")

3. 컴퓨터와 번갈아가며 승부 내기

def throw_yut():
    result = ''.join(random.choice(['o', 'x']) for _ in range(4))
    count = result.count('o')
    return result, count

player_score = 0
computer_score = 0

for round in range(3):
    print(f"🔄 {round+1}라운드")

    pr_result, pr_o = throw_yut()
    print(f"🧑 당신: {pr_result} ({pr_o} 앞면)")

    co_result, co_o = throw_yut()
    print(f"🤖 컴퓨터: {co_result} ({co_o} 앞면)")

    if pr_o > co_o:
        print("🎉 당신이 이겼습니다!")
        player_score += 1
    elif pr_o < co_o:
        print("😅 컴퓨터가 이겼습니다.")
        computer_score += 1
    else:
        print("🤝 무승부입니다.")

print(f"\n🏁 최종 결과: 당신 {player_score}승 / 컴퓨터 {computer_score}승")

💬 마무리하며

이번 예제를 통해 random 모듈조건문을 실습했고,
파이썬으로 전통놀이까지 구현할 수 있다는 재미도 느끼셨을 거예요 😊

이제 여러분이 직접 윷놀이를 더 발전시켜보세요! 점수를 기록하고, 여러 플레이어가 참여하는 게임으로 확장해보면 더 흥미로운 프로젝트가 될 수 있답니다. 🔥

 

Leave a Comment