1. 조건문

if

if 문은 주어진 조건에 따라 하위 코드 블럭을 실행할지를 결정하는 문법입니다. 예를 들어 변수 a 이 값이 1 일 경우 다음 코드 블럭을 실행하는 코드를 작성해 보겠습니다.

a = 1
if a == 1:
    print("a's value is 1")

if a == 2:
    print("a's value is not 2")

현재 a 의 값을 1로 할당했으므로 if 문의 조건을 만족하고, 따라서 하위 코드 블럭에서 문자열이 출력됩니다.

elif / else

다음으로는 다른 조건을 확인하거나, 모든 조건을 만족하지 않는 경우를 살펴보겠습니다.

첫 번째 if 의 조건이 만족되면 해당 코드 블럭이 실행됩니다. 만일 만족되지 않으면, elif 의 조건이 검사됩니다. 만일 여기서도 만족되지 않는 경우는 다음 elif 를 찾는 것을 반복합니다. 더 이상 elif 가 없다면 else 를 찾습니다. 따라서 else 는 모든 조건이 만족되지 않는 경우에 실행됩니다.

a = 4
if a == 1:
    print("Correct")
elif a == 2:  # else if -> elif
    print("Close")
elif a == 3:
    print("Maybe")
else:
    print("No match")

맨 처음 조건인 a == 1 과 다른 조건을 만족하는지 확인하려면 elif 를 사용하면 됩니다. 만일 어느 조건도 만족하지 않는 경우라면 else 를 사용하면 됩니다. a의 값을 바꿔가면서 테스트 해보세요.

여기서 elifelse 는 반드시 필요하지 않습니다. 둘 중 하나만 있어도 되고, 둘 다 없어도 됩니다. 즉 if ~ else 와 같이 작성하거나 if ~ elif 와 같이 작성해도 됩니다.

a = 4

if a == 1:
    print("Correct")
else:
    print("Close")

if a == 1:
    print("Correct")
elif a == 2:
    print("Close")

코드 블럭 안에는 코드 블럭을 또 넣는 것도 가능합니다.

a = 6
if a > 1: # block 1
    if a > 3: # block 2
        if a > 5: # block 3
            print(a) # block 4

위 예제에서는 a 의 값을 6으로 할당했습니다. 그 다음 두 번째 줄의 if 문의 조건이 만족되기 때문에 3~5번 줄의 코드가 실행되게 됩니다. 3~5번 줄이 실행되면 먼저 3번 줄의 if 문을 검사하게 되고, 조건을 만족하므로 4~5번이 실행되고, 결과적으로 4번 줄의 조건 또한 만족하므로 print(a) 가 실행되어 콘솔에는 6이 출력됩니다.

Quiz

파이썬에서는 사용자로부터 텍스트 입력을 받을 수 있는 input 함수가 있습니다. 예를 들어 이름을 입력받는 코드는 다음과 같습니다. 노트북에서 직접 실행해 보세요.