Python

[Python] Python 문제풀이 (가위 바위 보 게임)

땅콩새싹 2020. 10. 12. 19:10
반응형

 


 

문제

사용자가 가위, 바위, 보 중에서 하나를 선택하고 컴퓨터도 임의의 수로 가위, 바위, 보 중에서 하나를 선택한다.

사용자의 선택과 컴퓨터의 선택을 비교하여서 승패를 화면에 출력한다.

 

입력 & 출력

(가위,바위,보) 중에서 하나를 선택하세요 : 가위

사용자 : 가위  컴퓨터 : 바위

컴퓨터가 이겼음!

 

코드설명

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import random as rd;
meScore=0
comScore=0
while 1:
    if comScore==3 or meScore==3:
        break
 
    number = rd.randint(0,2);
    if number == 0:
        computer = '주먹'
    elif number == 1:
        computer = '가위'
    else:
        computer = '보'
 
    me=input('(가위,바위,보) 중에서 하나를 선택하세요 : ')
    print('사용자 : ',me,'컴퓨터 : ',computer)
    if computer == '주먹':
        if me == '주먹':
            print('비겼음!')
        elif me == '가위':
            print('컴퓨터가 이겼음!')
            comScore+=1
        else:
            print('내가 이겼음!')
            meScore+=1
    elif computer == '가위':
        if me == '주먹':
            print('내가 이겼음!')
            meScore+=1
        elif me == '가위':
            print('비겼음!')
        else:
            print('컴퓨터가 이겼음!')
            comScore+=1
    else:
        if me == '주먹':
            print('컴퓨터가 이겼음!')
            comScore+=1
        elif me == '가위':
            print('내가 이겼음!')
            meScore+=1
        else:
            print('비겼음!')
    print('컴퓨터',comScore,':','나',meScore)

컴퓨터가 가위, 바위, 보 중에서 랜덤으로 선택을 해야 하기 때문에 random을 import해주고 as를 통해 random을 앞으로 rd로 줄여서 쓸 수 있도록 선언해줍니다.

그리고 저는 컴퓨터와 나 둘중 한명이 먼저 3점을 냈을 때 프로그램을 종료시키고 싶어서 스코어를 저장할 변수를 선언해 주었습니다. while문은 무한루프로 돌고 맨 위에 탈출 조건을 설정했습니다.

그리고 number변수에 0~1까지 값을 랜덤으로 저정해 주고 0이면 주먹, 1이면 가위, 2이면 보를 컴퓨터쪽에 저장해 주었습니다.

그리고 나는 input을 통해 가위, 바위, 보를 입력하고 조건문을 통해 내가 입력한 값과 컴퓨터에 저장된 값을 비교해 승, 무, 패를 print해 주었습니다. 그리고 내가 이기면 meScore를 +해주고 컴퓨터가 이기면 comScore를 +해 주어 while문이 한번 돌 때마다 몇대 몇 상황인지 출력해 주었습니다.

둘 중 한명이 먼저 3점을 달성하면 프로그램은 종료됩니다.

 

실행결과

 

 

반응형