IT

[파이썬 기초] 조건문 - if elif else

생각파워 2018. 12. 13. 18:02

프로그래밍을 하다보면 어떤 조건에서는 A코드를, 다른 조건에서는 B코드를 실행시켜야 할 때가 있다.

예를들어 condition 이란 변수가 True 이면 A코드를, 그렇지 않으면 B코드를 실행시켜야 한다고 생각해보자.

 

condition 에 True 나 False 값 할당
condition이 True 인가?
        A코드 실행
condition이 True가 아닌가?
        B코드 실행

 

위와 같은 방식으로 프로그램이 실행 될 것이다.

 

이것을 파이썬 프로그램으로 변경해 보면 다음과 같다.

1
2
3
4
5
6
7
8
9
  condition = True
  if condition == True:
          print('condition값은 True')
  elif condition == False:
          print('condition값은 False')
  else:
          print('condition 값을 알 수 없음')


  print('프로그램 끝')

 

1번 라인에서는 condition 변수에 True를 할당해주고 있다.

불리언값인 True와 False는 문자열이 아니기 때문에 따옴표로 감싸지 않는다.

 

2번 라인에서는 condition 값이 True가 맞는지 비교하고 있다.

if문을 이용하면 조건을 체크할 수 있다.

if문의 조건(condition == True)이 맞으면 3번 라인을 실행한 후 다른 부분은 실행하지 않고 빠져나간다.

그래서 2번 문항이 맞으면 3번 print문을 실행하고 9번 print문을 실행하고 프로그램을 종료한다.

condition 값이 True일때를 실행해보자.

 

 

3번 라인만 실행되고 프로그램이 종료되는것을 볼 수 있다.

 

 

4번 라인에서는 condition 값이 False가 맞는지 비교하고 있다.

4번 라인은 condition이 True가 아닐때만 실행된다.

elif 문은 else if를 줄인것으로 else는 'condition이 True가 아닐때' 란 뜻을 가지고, 

if문을 이용해 이번에는 condition == False 인지를 비교한다.

elif문의 조건이 맞으면 5번 라인이 실행되고,  if문을 빠져나와 9번 print문을 실행하고 프로그램을 종료한다.

condition 값이 False 일 경우 실행해보자.

 

 

5번 print문이 실행되고 if문을 빠져나와서 9번 print문이 실행된 것을 알 수 있다.

 

 

6번 라인의 else문은 condition이 True도 아니고, False도 아닌 경우에 실행된다.

else문은 else문 상위에 나타나는 조건들이 모두 만족하지 못했을때 실행되기 때문이다.

여기서는 condition이 True나 False가 아닌 나머지 모든 경우에 7번 라인이 실행된다.

 

 

condition에 문자열 'blue'를 할당하였다.

이 값은 True나 False가 아니기 때문에 6번 else문을 거쳐, 7번 print문이 실행되고, 9번 print문이 실행된다.

 

 

추가로, 조건식 두개가 같을 경우에는 어떤결과가 나올까?

위 예에서 if문의 조건식과 elif문의 조건식이 같다면 if문의 print문만 실행될까? 아니면 elif문의 print문도 같이 실행될까?

 

 

if문과 elif문의 조건식을 보면 condition == True로 같다.

프로그램을 실행해보면 

 

 

위와 같이 if문의 print문만 실행되고 프로그램이 종료된다는 것을 알 수 있다.

if문에서는 조건이 만족하면 그 조건에 맞는 부분만을 실행하고 프로그램을 종료한다.

 

 

마지막으로,

if, elif, else 문 마지막에 나타나는 콜론(:)의 역할은 콜론 다음줄부터 들여쓰기 된 모든 라인은 같은 블록으로 취급한다.

조건에 따라 여러줄을 실행해야 하는 경우들이 있기 때문이다.

 

 

위 이미지 아래의 실행결과를 보면 condition 값이 True일때 두개의 print문이 실행되고, 프로그램을 종료한 것을 알 수 있다.

 

 

반응형