조건문

반응형

2.2. 조건문(if)

지금까지 저와 함께 파이썬을 알아가면서 어떤 생각이 드셨나요? 너무 쉽다는 분도 계실테고, 이런 것들 배워서 어디에 써먹는 건지 궁금한 분도 계실 것 같네요.

이 강의는 프로그래밍을 전혀 모르는 분을 위해 최대한 쉽게 쓰려고했기 때문에 다른 언어를 접해보신 분에게는 지루할 것 같네요. 그런 분이라면 아마 여기까지 읽기 전에 다른 사이트를 찾아가셨겠죠?

또, 파이썬을 배워서 어디에 써먹느냐고 하신다면… 프로그램 만드는 데 쓰지요. 웹사이트를 구축하는데도 씁니다. 지금 배우는 것과 같은 하찮은 것들이 모여서 엄청난 프로그램도 만들어 내는 것이지요. 조그만 레고 블록들이 모여서 큰 모형을 이루는 것과 같습니다. 차근차근 공부해가다보면 점점 더 복잡한 프로그램을 만드실 수 있을 거예요.

그럼 또 새로운 것을 배워 볼까요? 이번엔 if 문입니다. If는 '만약 …이면'이라는 뜻이지요? 파이썬에서도 같은 의미로 사용됩니다.

"달면 삼키고 쓰면 뱉는다."는 속담이 있지요. 그것을 파이썬에서는 쓰는 것과 비슷하게 써보겠습니다.

만약 달다면:
    삼킨다.
그렇지 않으면:
    뱉는다.

이번엔 영어를 조금 섞어서 써볼까요?

if 달다면:
    삼킨다.
else:
    뱉는다.

위에 든 예들은 설명을 위해서 써 본거구요, 그대로 작성하면 파이썬이 이해를 못합니다.

그럼 이번엔 실습을 해보겠습니다. 아래의 두 수 a와 b 중에 어느 쪽이 더 클까요?

>>> a = 1234 * 4
>>> b = 13456 / 2

if 문을 사용해서 a가 크면 'a'를 출력하고 b가 크면 'b'를 출력하도록 프로그램을 작성해 볼까요? 한번 따라서 쳐보세요.

>>> if a > b:                     # 만약 a가 b보다 크면
...     print('a')                # 'a'를 출력한다.
... else:                         # 그렇지 않으면
...     print('b')                # 'b'를 출력한다.
...

오른쪽에 # 이후에 있는 것들은 설명문이니까 입력하실 필요는 없습니다. a > b 라고 쓴 것은 a가 b보다 크다는 것을 나타냅니다. 어렵지 않죠?

조건을 여러 개 주는 것도 가능합니다. 이번엔 c와 d를 비교해 보겠습니다.

>>> c = 15 * 5
>>> d = 15 + 15 + 15 + 15 + 15
>>> if c > d:                      # 만약 c가 d보다 크면
...     print('c > d')             # 'c > d'라고 출력한다.
... elif c == d:                   # 그렇지 않고 c와 d가 같다면
...     print('c == d')            # 'c == d'라고 출력한다.
... else:                          # 이도 저도 아니면
...     print('c < d')             # 'c < d'라고 출력한다.
...
c == d

이렇게 elif라는 것을 사용하면 여러 개의 조건을 검사해서 그 중에서 맘에 드는 것을 고를 수 가 있답니다.

여기서 새로운 것이 또 있는데, 바로 ==(등호 두 개)입니다. ==는 지금까지 알고 있던 =(등호 한 개)와는 쓰임새가 다르니 혼동하지 않도록 주의하세요. c == d라고 쓰면 c와 d의 값이 같다는 것을 나타냅니다. 지금처럼 두 값을 비교할 때 사용하지요. 지금까지 등호 하나를 써서 c = d라고 쓴 것은 d라는 값을 c에 넣으라는 뜻이었구요.

>>> watch = 1000000

기억나시죠? 이제 그 둘을 구별하실 수 있겠죠?

오늘의 강의는 여기까지입니다. 강의는 이해가 된다고 해서 그냥 훑어보지 마시고 꼭 예제를 따라서 쳐보시기 바랍니다. 그리고 그것과 비슷한 프로그램을 스스로 만들어 보시구요. '백타가 불여일작'이라는 말도 있거든요.

백 번 따라해보는 것보다 한 번 직접 만들어 보는 것이 낫다