그럼 또 새로운 것을 배워 볼까요? 이번엔 if 문입니다. If는 '만약 …이면'이라는 뜻이지요? 파이썬에서도 같은 의미로 사용됩니다.
파이썬의 if와 else
실습을 해보겠습니다. 아래의 두 수 a와 b 중에 어느 쪽이 더 클까요?
>>> a = 1234 * 4 >>> b = 13456 / 2
if 문을 사용해서 a가 크면 'a'를 출력하고 b가 크면 'b'를 출력하도록 프로그램을 작성해 볼까요? 한번 따라서 쳐보세요.
>>> if a > b: # if a is greater than b ... print('a') # print 'a'. ... else: # otherwise ... print('b') # print 'b'. ...
#
이후에 있는 것들은 주석(설명)이므로 입력하지 않아도 됩니다. a > b
라고 쓴 것은 ‘a가 b보다 큰가?’를 나타냅니다. 어렵지 않죠?
elif
조건을 여러 개 주는 것도 가능합니다. 이번엔 c와 d를 비교해 보겠습니다.
>>> c = 15 * 5 >>> d = 15 + 15 + 15 + 15 + 15 >>> if c > d: ... print('c is greater than d') ... elif c == d: ... print('c is equal to d') ... elif c < d: ... print('c is less than d') ... else: ... print('I don\'t know') ... c is equal to d
이렇게 elif
라는 것을 사용하면 여러 개의 조건을 검사해서 그중에서 맘에 드는 것을 고를 수 있답니다.
== 연산자
여기서 새로운 것이 또 있는데, 바로 ==
(등호 두 개)입니다. ==
는 지금까지 알고 있던 =
(등호 한 개)와는 쓰임새가 다르니 혼동하지 않도록 주의하세요. c == d
라고 쓰면 'c와 d의 값이 같은가?'를 나타냅니다. 지금처럼 두 값을 비교할 때 사용하지요. 지금까지 등호 하나를 써서 c = d
라고 쓴 것은 d
의 값을 c
에 넣으라는 뜻이었고요.
>>> watch = 1000000
기억나시죠? 이제 그 둘을 구별하실 수 있겠죠?
나머지 계산을 이용하는 if 문
어떤 수를 다른 수로 나눈 나머지가 0이면 ‘나누어 떨어진다’라고 합니다. 예를 들어, 48을 4로 나눈 나머지는 0이므로, 48은 4로 나누어 떨어집니다.
>>> 48 % 4 0
어떤 수 a
가 다른 수 b
로 나누어 떨어지는지를 파이썬의 if 문으로 다음과 같이 평가할 수 있습니다.
>>> a = 48 >>> b = 4 >>> if a % b == 0: ... print(f'{a}는 {b}로 나누어 떨어집니다.') ... elif a % b != 0: ... print(f'{a}는 {b}로 나누어 떨어지지 않습니다.') ...
48는 4로 나누어 떨어집니다.
위의 예에서 elif a % b != 0:
대신 else:
라고 해도 결과는 같겠죠?
조건에 따라 반복문 중단하기
어릴 때는 큰 수를 잘 이해하지 못하죠?
하나부터 열까지밖에 모르는 아이처럼, 10보다 큰 숫자가 들어오면 멈추는 반복문을 작성해볼까요?
>>> a = 48 >>> b = 4 >>> if a % b == 0: ... print(f'{a}는 {b}로 나누어 떨어집니다.') ... elif a % b != 0: ... print(f'{a}는 {b}로 나누어 떨어지지 않습니다.') ...
이와 같이 반복문에서 break
를 사용하면 빠져나올 수 있답니다.
입력:
3
6
9
12
출력:
12 is too big!