본문 바로가기
Python

파이썬 기초 5편(if문)

by 스터디립트 2022. 3. 15.

목차

  1. 시작하며
  2. if
  3. elif
  4. else

 

 

 

1. 시작하며

파이썬, 그리고 다른 프로그래밍 언어들을 사용하다 보면 조건문을 사용해야 할 때가 있습니다. 예를 들어서 "변수x가 3보다 크다면", "지금 시간이 6시 이후라면" 과 같이 여러 조건문들을 사용해야 합니다. 이번 시간에는, 파이썬에서 조건문을 사용할 수 있는 if문에 대해서 알아보도록 하겠습니다.

 

2. if

if는 '만약 ~라면' 이라는 뜻을 가지고 있습니다. if문의 기본적인 문법은 아래와 같습니다.

if '''조건''':
	'''구문'''

그럼 한번 예시 구문을 만들어볼까요? 변수 x를 선언한 후, x에 1씩 더하며 2보다 크거나 같은지 비교해보도록 하겠습니다.

 

 

 

x = 1
if x >= 2:
    print("x는 2보다 크거나 같습니다")
x += 1
if x >= 2:
    print("x = " + str(x))
x += 1
if x >= 2:
    print("x = " + str(x))
결과:

x = 2
x = 3

위 구문을 보면, 처음에 x값을 1로 선언해준 뒤에 x값에 1씩 더해가며 x가 2보다 크거나 같은지 판단한 후 만약 그렇다면 x값을 출력하도록 되어있습니다. 결과를 보면 2보다 크거나 같은 값인 2와 3만 제대로 출력되는것을 볼 수 있습니다.

 

 

 

3. elif

elif는 다른 프로그래밍 언어들에서 사용되는 else if 의 줄임말이라고 보시면 됩니다. 이 elif문은 절대로 단독으로 사용할 수 없습니다. 무조건 앞에 if문이 있어야 합니다. 이 elif문의 기능은, 앞에 있는 if문의 조건이 아닐 때 확인하는 if문입니다. 아래는 elif문의 기본적인 문법입니다.

if '''조건1''':
	'''구문'''
elif '''조건2''':
	'''구문'''

elif 구문을 사용하실 때 한 가지 생각하셔야 할 점은, 만약 elif 구문 전의 if구문 또는 또 다른 elif구문이 작동되었다면 작동된 구문 뒤의 elif구문들은 작동하지 않습니다.

 

 

그럼 한번 예시 구문을 만들어보도록 하겠습니다. x값이 4보다 큰지, 그렇지 않다면 2보다 큰지에 따라서 구문이 출력되도록 만들어보겠습니다.

x = 2
if x > 4:
    print("x값은 " + str(x) + "(으)로, 4보다 큽니다")
elif x > 2:
    print("x값은 " + str(x) + "(으)로, 2보다 큽니다")
x += 1
if x > 4:
    print("x값은 " + str(x) + "(으)로, 4보다 큽니다")
elif x > 2:
    print("x값은 " + str(x) + "(으)로, 2보다 큽니다")
x += 1
if x > 4:
    print("x값은 " + str(x) + "(으)로, 4보다 큽니다")
elif x > 2:
    print("x값은 " + str(x) + "(으)로, 2보다 큽니다")
x += 1
if x > 4:
    print("x값은 " + str(x) + "(으)로, 4보다 큽니다")
elif x > 2:
    print("x값은 " + str(x) + "(으)로, 2보다 큽니다")

 

결과:

x값은 3(으)로, 2보다 큽니다
x값은 4(으)로, 2보다 큽니다
x값은 5(으)로, 4보다 큽니다

 

위 구문에서는 x값을 처음에 2로 선언을 한 뒤, x값이 4보다 큰지 확인한 후, 4보다 크지 않다면 x값이 2보다 큰지 확인합니다. 그리고 그 과정을 x값이 1씩 더해가며 4번 반복합니다. 아직 반복문에 대해서 다루지 않았기 때문에 일일이 구문을 복사 붙여넣기 하는 것이지만, 반복문을 배우게 된다면 귀찮게 복사 붙여넣기 할 필요는 없습니다.

 

 

 

결과를 보면 x값이 2일때는 두 조건 모두 충족하지 않기 때문에 출력하지 않고, x값이 3과 4일때는 4보다 크지는 않지만 2보다 크기 때문에 2보다 크다는 메시지를 출력합니다. 마지막으로 x값이 5일때는 4보다 크다는 if문이 작동하기에 뒤의 elif문은 작동하지 않고 따라서 4보다 크다는 메시지를 출력합니다.

 

elif문은 여러개를 사용할 수도 있습니다. 아래는 그 예시 구문입니다.

x = 2
if x > 4:
    print("x값은 " + str(x) + "(으)로, 4보다 큽니다")
elif x > 2:
    print("x값은 " + str(x) + "(으)로, 2보다 큽니다")
elif x == 2:
    print("x값은 2입니다")

x += 1
if x > 4:
    print("x값은 " + str(x) + "(으)로, 4보다 큽니다")
elif x > 2:
    print("x값은 " + str(x) + "(으)로, 2보다 큽니다")
elif x == 2:
    print("x값은 2입니다")

x += 1
if x > 4:
    print("x값은 " + str(x) + "(으)로, 4보다 큽니다")
elif x > 2:
    print("x값은 " + str(x) + "(으)로, 2보다 큽니다")
elif x == 2:
    print("x값은 2입니다")

x += 1
if x > 4:
    print("x값은 " + str(x) + "(으)로, 4보다 큽니다")
elif x > 2:
    print("x값은 " + str(x) + "(으)로, 2보다 큽니다")
elif x == 2:
    print("x값은 2입니다")

 

결과:

x값은 2입니다
x값은 3(으)로, 2보다 큽니다
x값은 4(으)로, 2보다 큽니다
x값은 5(으)로, 4보다 큽니다

아까 전의 구문에서 elif문을 하나 더 추가해서 x가 4보다 크지 않고, 2보다 크지 않으면서 2일 때 x값이 2라는 메시지를 출력하도록 했습니다. 결과를 보면 맨 처음에 x값을 2로 선언했을 때 한번만 메시지가 출력되는 것을 볼 수 있습니다.

 

 

4. else

else문도 elif문과 마찬가지로 if문과 반드시 같이 써야하는 구문입니다. else구문은 elif구문이 있어도 사용 가능합니다. else문은 앞에 있는 if문들 또는 elif문들이 모두 다 작동하지 않았을 시 작동하는 구문입니다. 아래는 else문의 기본적인 문법입니다.

if '''조건''':
	'''구문''':
else:
	'''구문'''

 

그럼 이번에도 예시 구문을 만들어보도록 하겠습니다.

x = 2
if x > 4:
    print("x값은 " + str(x) + "(으)로, 4보다 큽니다")
elif x > 2:
    print("x값은 " + str(x) + "(으)로, 2보다 큽니다")
else:
    print("x값은 2보다 작거나 같습니다")

x += 1
if x > 4:
    print("x값은 " + str(x) + "(으)로, 4보다 큽니다")
elif x > 2:
    print("x값은 " + str(x) + "(으)로, 2보다 큽니다")
else:
    print("x값은 2보다 작거나 같습니다")

x += 1
if x > 4:
    print("x값은 " + str(x) + "(으)로, 4보다 큽니다")
elif x > 2:
    print("x값은 " + str(x) + "(으)로, 2보다 큽니다")
else:
    print("x값은 2보다 작거나 같습니다")

x += 1
if x > 4:
    print("x값은 " + str(x) + "(으)로, 4보다 큽니다")
elif x > 2:
    print("x값은 " + str(x) + "(으)로, 2보다 큽니다")
else:
    print("x값은 2보다 작거나 같습니다")

 

결과:

x값은 2보다 작거나 같습니다
x값은 3(으)로, 2보다 큽니다
x값은 4(으)로, 2보다 큽니다
x값은 5(으)로, 4보다 큽니다

이번에는 x값이 4보다 크지 않으며 2보다 크지 않을 때 x값은 2보다 작거나 같다고 출력하도록 구문을 만들었습니다. 결과를 보면 맨 처음에 x값을 2로 선언했을 때, 즉 앞의 if문과 elif문이 모두 다 작동하지 않았을 때 else문이 작동한 것을 볼 수 있습니다.

 

지금까지 파이썬의 if문에 대해서 알아보았습니다. 다음 시간에는 여러가지 반복문 중 하나에 대해서 알아보도록 하겠습니다. 질문이 있으시다면 이 글의 댓글에 적어주시면 답변해드리도록 하겠습니다.

 

 

댓글