📡

4.5.1. 조건문


1. if

if문은 조건에 합당하다면 들여쓰기 되어있는 곳까지 Code를 실행시키는 구문입니다. 아래 예제를 보며 다시 한 번 설명 드리도록 하겠습니다,
입력
x = 2 if x > 1 and x < 10: print('True')
 
출력
True
and는 논리 연산자 입니다. x가 2고, 1보다 크면서 동시에 10보다 작기 때문에 True를 출력합니다. 만약 x에 0을 넣게 되면 x는 10보다는 작지만 1보다 크지 않기 때문에 들여쓰기 된 Code를 실행하지 않습니다.
 
아래처럼 직접 True나 False를 입력할 수도 있습니다.
입력
if True: print('True')
 
출력
True
 
이번에는 일부러 출력 결과를 기입하지 않았습니다. 어떤 결과가 나올지 여러분이 체킹해보세요.
입력
if True: print('hello') print('one') if False: print('world') print('two')
 
위의 첫번째 예제 코드는 x변수에 할당된 2라는 값이 0보다 크고, 5보다 작기 때문에 True가 되어 안에 문장이 실행됩니다. 두번째 예제 코드처럼 직접 bool문을 넣을 수도 있습니다.
앞서 말씀드린 것처럼 if문은 조건을 판단하여 조건이 참이라면 해당 조건에 맞는 것을 실행하는 것입니다. if문의 구조는 아래와 같습니다.
#if 문의 기본구조 if 조건문 : #조건문을 확인해서 만약 '참'이면 if 문 다음에 문장들을 수행합니다. 수행할 문장 1 수행할 문장 2
 
  • if 문의 순서도(Flow Chart) : 수행할 문장 1, 2가 모두 if문에 들어있을 경우
notion imagenotion image
 
다양한 예제를 통하여 if문에 대하여 좀 더 알아보겠습니다.
입력
x = 10 if x > 5: print('hello') print('end') if x != 5: print('hello')
 
출력
hello end hello
 
입력
if 1: print('hello') print('end') if 0: print('hello') print('end') if -1: print('hello') print('end') #공백이 있는 문자열 if ' ': print('hello') print('end') #공백이 없는 문자열 if '': print('hello') print('end')
 
출력
hello end end hello end hello end end
 
입력
if not '': print('hello') print('end') if not None: #None은 False와 같은의미라고 생각하시면 됩니다. print('hello') print('end') if not None: print('hello') print('end')
 
출력
hello end hello end end
 

2. if, else

else 문은 if 문의 조건이 거짓일 경우에 실행됩니다. 아래 if, else 문의 기본 구조를 통해 알아봅시다.
#if,else문의 기본구조 if 조건문: #조건문을 확인해서 만약 '참'이면 if 문 다음에 문장들은 수행합니다. 수행할 문장 1 수행할 문장 2 else: #if문의 조건이 거짓이면 else 문이 실행됩니다. 수행할 문장 3 수행할 문장 4
if 문의 조건문을 확인해서 만약 이면 수행할 문장 1수행할 문장 2 를 수행하고, 조건이 거짓이면 else 문이 실행되어 수행할 문장 3수행할 문장 4 가 수행됩니다.
 
  • if, else 문의 순서도(Flow Chart)
notion imagenotion image
입력
x = int(input('비교할 수를 입력하세요 :')) y = int(input('비교할 수를 입력하세요 :')) if x > y: print('첫번째 입력한 값이 더 큽니다.') else: print('두번째 입력한 값이 더 크거나 같습니다.')
 
출력
비교할 수를 입력하세요:3 비교할 수를 입력하세요:5 두번째 입력한 값이 더 크거나 같습니다.
 

3. if, elif, else

여러개의 조건을 한꺼번에 검사해야 할 경우에는 elif를 사용합니다. elif는 여러개 사용할 수 있습니다.
 
#if,elif,else문의 기본구조 if 조건문: #조건문을 확인해서 만약 '참'이면 if 문 다음에 문장들은 수행합니다. 수행할 문장 1 수행할 문장 2 elif: #if문의 조건이 '참'이 아니라면 elif 문의 조건문을 확인하고 수행할 문장 3 #elif 문의 조건문이 참이라면 수행한다. 수행할 문장 4 else: 수행할 문장 5 # if 문과 elif 문의 조건문이 거짓이면 else가 실행됩니다. 수행할 문장 6
if 문에서 조건문을 확인해서 만약 참이면 수행할 문장 1수행할 문장 2 를 수행합니다. 그렇지 않고 거짓일 경우에는 elif 문의 조건문을 확인합니다. elif 문에서도 마찬가지로 조건문이 참일 경우에는 수행할 문장 3수행할 문장 4 를 수행하고 거짓이면 else 문이 실행됩니다.
 
  • if, elif, else문의 순서도(Flow Chart)
notion imagenotion image
 
입력
x = int(input('비교할 수를 입력하세요 :')) y = int(input('비교할 수를 입력하세요 :')) if x > y: print('첫번째 입력한 값이 더 큽니다.') elif x < y: print('두번째 입력한 값이 더 큽니다.') else: print('두 값이 같습니다.')
 
출력
비교할 수를 입력하세요 : 5 비교할 수를 입력하세요 : 5 두 값이 같습니다.
 
만약 x > y 조건문이 참이라면 "첫번째 입력한 값이 더 큽니다."를 출력해주고 거짓일 경우 "두번째 입력한 값이 더 크거나 같습니다."를 출력합니다.
여기서 첫번째 조건문을 만족하지 않기 때문에 elif로 넘어오게 됩니다. 여기서 두번째 조건인 x < y 조건문도 만족하지 않기 때문에 마지막 else문으로 넘어가 두 값이 같다는 문장을 출력하게 됩니다.
 
아래에 있는 예제를 통하여 좀 더 알아보겠습니다.
입력
score = 81 money = 0 if score >= 90: print('mom : i\'m so happy!') money += 1000000 elif score >= 80: print('mom : i\'m happy!') money += 100000 elif score >= 70 and score < 80: print('mom : i\'m so...!') money += 10000 elif score >= 60 and score < 70: print('mom : i\'m so...!') money += 1000 else: print('mom : i\'m...!') print(money)
 
출력
mom : i'm happy 100000
위 구문에서 elif로 되어 있는 부분을 모두 if로 바꾼다면 어떤 일이 발생할까요? 용돈을 111,000원 받게 됩니다. if와 elif의 차이점을 기억해두세요.
 
입력
score = -100 if score >= 90: print('mom : i\'m so happy!') money += 1000000 else: print('mom : i\'m...!')
 
출력
mom i'm...!
elif와 else단독으로는 사용할 수 없으며, elif와 else는 if문이 같이 있어야만 사용할 수 있습니다.
 
아래처럼 if문 안에 if문을 중첩하여 사용할 수 있습니다.
입력
#if를 중첩해서 사용하기 score = 98 if score >= 90: print('mom : i\'m so happy!') money += 1000000 if score > 95: print('hello world') if score > 97: print('hello!!!') elif score >= 80: print('mom : i\'m happy!') money += 100000
 
출력
mom : i'm so happy! hello world hello!!!