Search

반복문10_문제02_가위바위보

대분류
STEP04 일차반복문
소분류
반복문10_문제

영상

문제

''' [문제] 철수와 민수는 계단에서 가위바위보를 한다. 철수와 민수는 각각 0 ~ 2 의 랜덤 값을 저장한다. 0 : 가위 , 1 : 바위 , 2 : 보를 뜻한다. 철수와 민수는 50번째 계단의 위치에서 시작한다. 룰은 다음과 같다. 이기면 3칸 올라가기, 비기면 2칸 올라가기, 지면 1칸 내려가기. 둘 중 아무나 100 이상 도착하거나 둘 사이의 간격이 10 이상이면 게임은 종료된다. 게임이 종료될 때까지 두 사람의 이동 경로를 출력하시오. '''
Python
복사

해설

''' [문제] 철수와 민수는 계단에서 가위바위보를 한다. 철수와 민수는 각각 0 ~ 2 의 랜덤 값을 저장한다. 0 : 가위 , 1 : 바위 , 2 : 보를 뜻한다. 철수와 민수는 50번째 계단의 위치에서 시작한다. 룰은 다음과 같다. 이기면 3칸 올라가기, 비기면 2칸 올라가기, 지면 1칸 내려가기. 둘 중 아무나 100 이상 도착하거나 둘 사이의 간격이 10 이상이면 게임은 종료된다. 게임이 종료될 때까지 두 사람의 이동 경로를 출력하시오. ''' import random 철수_위치 = 50 민수_위치 = 50 run = 1 while run == 1: print("철수 위치 =", 철수_위치) print("민수_위치 =", 민수_위치) 철수 = random.randint(0, 2) 민수 = random.randint(0, 2) print(철수, 민수) if 철수 == 민수: 철수_위치 += 2 민수_위치 += 2 print("비겼다.") if 철수 == 0 and 민수 == 2: 철수_위치 += 3 민수_위치 -=1 print("철수가 이겼다.") if 철수 == 1 and 민수 == 0: 철수_위치 += 3 민수_위치 -= 1 print("철수가 이겼다.") if 철수 == 2 and 민수 == 1: 철수_위치 += 3 민수_위치 -= 1 print("철수가 이겼다.") if 민수 == 0 and 철수 == 2: 민수_위치 += 3 철수_위치 -=1 print("민수가 이겼다.") if 민수 == 1 and 철수 == 0: 민수_위치 += 3 철수_위치 -=1 print("민수가 이겼다.") if 민수 == 2 and 철수 == 1: 민수_위치 += 3 철수_위치 -=1 print("민수가 이겼다.") if 철수_위치 >= 100: print("철수가 최종 승리!") run = 0 if 민수_위치 >= 100: print("민수가 최종 승리!") run = 0 차이 = 철수_위치 - 민수_위치 if 차이 >= 10 or 차이 <= -10: print("차이가 10이상입니다!") run = 0
Python
복사