# 🎲 주사위 프로그램

- Author: @mildsalmon
- Published: 2020-05-12
- Updated: 2021-10-02
- Source: http://blex.me/@mildsalmon/%EC%A3%BC%EC%82%AC%EC%9C%84-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8
- Tags: 파이썬, 토이

---

## 문제

<img alt="" class="lazy" data-src="/resources/media/images/content/2020/5/12/mildsalmon/23_V5TUQjfnWNC2XNOsCKqL.png" src="/resources/media/images/content/2020/5/12/mildsalmon/23_V5TUQjfnWNC2XNOsCKqL.png.preview.jpg"/>

## 로직

1. 컴퓨터와 내가 주사위 2개를 굴린다. - 주사위는 랜덤값으로 처리해야한다. (주사위 값을 안다면 그건 주사위가 아니기 때문에)
  - 컴퓨터 주사위 2개, 내 주사위 2개를 랜덤값으로 초기화해야한다.
2. 주사위 눈금의 합이 큰 쪽이 이긴다. - 컴퓨터 주사위와 내 주사위의 값을 각각 더하는 변수가 필요하다.
  - if문으로 컴퓨터가 이겼는지 내가 이겼는지 조건처리 해주면 됨
3. 두 눈금이 같으면 합에 10을 더한다. - 비기면 눈금의 합에 10을 더한다.
  - 이것도 if문으로 처리하면 됨
4. 위 과정을 5번 반복하여 내가 몇 승 몇 무 몇 패인지 화면에 출력 - 5번 반복은 for문이나 while문을 사용한다.
  - 몇 승 몇 무 몇 패는 for문 밖에 선언해서 전역적으로 관리한다.
  - for문 안에 선언하면 지역적으로 선언되서 for문이 끝나면 사라진다.

## 코드

```python
import random

if __name__ == '__main__':
    win = 0
    lose = 0
    draw = 0

    for i in range(5):
        com_dice_1 = random.randrange(1,7)
        com_dice_2 = random.randrange(1,7)
        my_dice_1 = random.randrange(1,7)
        my_dice_2 = random.randrange(1,7)

        sum_com_dice = com_dice_1 + com_dice_2
        sum_my_dice = my_dice_1 + my_dice_2

        if sum_com_dice > sum_my_dice:
            lose = lose + 1
            print("(" + str(com_dice_1) + ", " + str(com_dice_2) + ")")
            print("\n")
        elif sum_com_dice < sum_my_dice:
            win = win + 1
            print("(" + str(my_dice_1) + ", " + str(my_dice_2) + ")")
            print("\n")
        elif sum_com_dice == sum_my_dice:
            print("(" + str(my_dice_1) + ", " + str(my_dice_2) + ")")
            print(sum_my_dice + 10)
            draw = draw + 1
            print("\n")

    print(str(win) + " 승, " + str(draw) + " 무, " + str(lose) + " 패")
```

## 결과

첫 번째 출력은 만들자마자 캡쳐한거고, 두 번째 출력은 만들고 좀 다듬어서 출력한 것.
여러번 반복하면서 주사위의 범위는 맞는지, 비겼을 때, 내가 이겼을 때, 컴퓨터가 이겼을 때 잘 동작하는지 파악해야 한다.

<img alt="" class="lazy" data-src="/resources/media/images/content/2020/5/12/mildsalmon/23_XKB2f2Bb6NnFervnZxLY.png" src="/resources/media/images/content/2020/5/12/mildsalmon/23_XKB2f2Bb6NnFervnZxLY.png.preview.jpg"/>

<img alt="" class="lazy" data-src="/resources/media/images/content/2020/5/12/mildsalmon/23_9iGaUlN4Pypfwbac96cB.png" src="/resources/media/images/content/2020/5/12/mildsalmon/23_9iGaUlN4Pypfwbac96cB.png.preview.jpg"/>
