문제]
컴퓨터와 게임어가 상자 안에 있는 그림과 숫자를 하나씩 꺼내어 비교하여 결과를 출력하는 프로그램을 작성하시오.
빨간색 하트가 그려진 공을 꺼내면 공의 숫자*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")
참고풀이 결과]
대한민국의 아름다운 영토, 독도의 겨울
'프로그램 > Python 1000제' 카테고리의 다른 글
Python 8제] 로또 당첨 등수를 구하는 프로그램을 작성하시오. (0) | 2021.08.01 |
---|---|
Python 7제] 2019년 한국정보올림피아드 1차대회 초등부 1번 - 막대기 (0) | 2021.07.12 |
Python 5제] 3제의 문제를 아래와 같이 나타내는 윈도우 프로그램을 작성하시오. (0) | 2021.06.30 |
Python 4제] 3제의 양의 정수입력 받는 부분을 사용자 함수로 만들어 프로그램을 작성하시오. (0) | 2021.06.29 |
Python 3제] 양의 정수 세개를 입력받아 문제와 같이 출력하는 프로그램을 작성하시오. (0) | 2021.06.29 |
댓글