🐾 파이썬 초보자도 가능한 윷놀이 시뮬레이터
파이썬을 배우면서 “재미있게 무언가를 만들어볼 수 없을까?” 고민하셨다면, 전통 놀이인 윷놀이를 한번 생각해보세요. 👀
어릴 적 누구나 해봤던 그 놀이를 파이썬 코드로 직접 구현해본다면, 프로그래밍이 더 재밌어질 거예요!
이 글에서는 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 모듈과 조건문을 실습했고,
파이썬으로 전통놀이까지 구현할 수 있다는 재미도 느끼셨을 거예요 😊
이제 여러분이 직접 윷놀이를 더 발전시켜보세요! 점수를 기록하고, 여러 플레이어가 참여하는 게임으로 확장해보면 더 흥미로운 프로젝트가 될 수 있답니다. 🔥