문제
두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오.
출력
첫째 줄에 다음 세 가지 중 하나를 출력한다.
- A가 B보다 큰 경우에는 '>'를 출력한다.
- A가 B보다 작은 경우에는 '<'를 출력한다.
- A와 B가 같은 경우에는 '=='를 출력한다.
답
A,B = map(int,input().split())
if A > B:
print('>')
elif A < B:
print('<')
else:
print('==')
풀이
1. 우선 두 수를 입력받는 코드를 작성한다.
A,B = map(int,input().split())
일단 두 개의 수를 입력받는다. 두 개의 수는 가운데에 공백을 포함한 하나의 문자열로 입력받게 된다. 이 문자열을 input 함수로 입력받고 split 함수로 나눌 때 괄호에 아무것도 입력하지 않으면 공백을 기준으로 문자를 나눌 수 있다. 그리고 map 함수를 이용해서 split 함수로 나눈 두 개의 문자를 int타입인 정수로 변환시켜 준다. 두 개의 정수는 튜플(tuple)의 성질을 이용하여 A, B 변수에 각각 선언한다.
2. if - elif - else 조건식 코드를 작성한다.
if A > B:
print('>') # if 조건식이 참일 때 문장
elif A < B:
print('<') # if조건식이 참이 아닌경우 elif 조건식이 참일 때 문장
else:
print('==') # 위의 모든 조건이 거짓일 때 문장
if 조건식은 if 조건식만 작성할 수도 있고 if-else 조건식을 쓸 수도 있고 if - elif - else 조건식을 사용할 수도 있다. 이번 코드에선 if - elif - else 모두 사용한 조건식을 작성하였다. if 조건식 아래에는 if 조건식이 참일 때의 문장을 쓰고 elif조건식 아래에는 if 조건식이 참이 아닌 경우 elif 조건식이 참일 때의 문장을 써준다. 그리고 else 조건식에는 위의 모든 조건이 거짓일 때의 문장을 써주면 된다.
삼항연산자를 이용한 풀이도 있다.
답
A,B = map(int,input().split())
print('>') if A > B else print('<') if A < B else print('==')
풀이
>> 삼항 연산자 코드로 작성하는 방법
print('>') if A > B else print('<') if A < B else print('==')
삼항 연산자 코드를 작성하면 if조건식을 한 줄로 간편하게 작성할 수 있어서 편리하다. 이번 문제는 elif 조건식이 들어가야 하기 때문에 중첩 삼항 연산자 코드로 작성했다. 중첩 삼항 연산자의 코드 작성법은 아래와 같다.
조건식 1이 참일 때 값 if 조건식 1 else [ 조건식2가 참일 때 값 if 조건식2 else 조건식이 모두 거짓일 때