본문 바로가기
프로그램/Python 1000제

Python 6제] 컴퓨터와 게임어가 상자안에 있는 그림과 숫자를 하나씩 꺼내어 비교하여 결과를 출력하는 프로그램을 작성하시오.

by 건티 2021. 7. 1.
728x90

문제]

컴퓨터와 게임어가 상자 안에 있는 그림과 숫자를 하나씩 꺼내어 비교하여 결과를 출력하는 프로그램을 작성하시오.

빨간색 하트가 그려진 공을 꺼내면 공의 숫자*2의 점수를 받는다.
빨간색 클로버가 그려진 공을 꺼내면 0점을 받는다.
초록색 하트가 그려진 공을 꺼내면 공의 숫자-1의 점수를 받는다.
초록색 클로버가 그려진 공을 꺼내면 공의 숫자+2의 점수를 받는다.
점수가 높으면 이기는 게임의 결과를 출력하시오.

게임어는 색깔을 입력할 수 있고 그림과 숫자는 임의의 값으로 받는다.



입력 예시1]
'RED', 'GREEN' 중 원하는 색을 입력하세요 : red

출력 예시1]
Player : 0, Computer : 1
Player Lose, Computer Win


입력 예시2]
'RED', 'GREEN' 중 원하는 색을 입력하세요 : green

출력 예시2]
Player : 5, Computer : 5
Draw


입력 예시3]
'RED', 'GREEN' 중 원하는 색을 입력하세요 : red

출력 예시3]
Player : 14, Computer : 10
Player Win, Computer Lose

 

 

참고풀이]

import random

#컴퓨터가 색을 고를 수 있도록 색리스트를 만든다.
rgList=["RED","GREEN"]
comColor=rgList[random.randrange(2)]

 

#컴퓨터가 그림을 고를 수 있도록 그림리스트를 만든다.
hcList=["HEART","CLOVER"]
comPicture=hcList[random.randrange(2)]

 

#컴퓨터가 임의의 숫자를 받는다.
comSu=random.randint(1,10)

 

#컴퓨터의 점수를 구한다.
if comColor=="RED" and comPicture=="HEART":
    comSu *= 2
elif comColor=="RED" and comPicture=="CLOVER":
    comSu = 0
elif comColor=="GREEN" and comPicture=="HEART":
    comSu -= 1
else:
    comSu += 2
    
#게임어가 색을 고를 수 있도록 한다.
playerColor=input("'RED','GREEN' 중 원하는 색을 입력하세요 : ").upper()

 

#게임어가 임의의 그림을 받는다.
playerPicture=hcList[random.randrange(2)]

 

#게임어가 임의의 숫자를 받는다.
playerSu=random.randint(1,10)

#게임어의 점수를 구한다.
if playerColor=="RED" and playerPicture=="HEART":
    playerSu *= 2
elif playerColor=="RED" and playerPicture=="CLOVER":
    playerSu=0
elif playerColor=="GREEN" and playerPicture=="HEART":
    playerSu-=1
else:
    playerSu+=2

#게임어와 컴퓨터의 승부결과를 출력한다.
print("Player : ", playerSu,", Computer : ", comSu, sep='')
if playerSu>comSu:
    print("Player Win, Computer Lose")
elif playerSu<comSu:
    print("Player Lose, Computer Win")
else:
    print("Draw")

 

참고풀이 결과]

 

 

 

대한민국의 아름다운 영토, 독도의 겨울

 

반응형

댓글