본문 바로가기

Python 기초 배우기/비전공자도 배우는 파이썬 기초

12. 파이썬 제어문: if문, 조건문, elif, else

#제어문 #if문 #조건문 #else #elif #콜론 #들여쓰기 #블록 #비교연산자 #pass

코딩을 공부하지 않는 분들이라도

제어문, if문, 조건문 등의 단어는 들어보셨을 겁니다.

엑셀에서도 굉장히 많이 쓰이죠~

그만큼 프로그래밍에서는 절대 빼놓을 수 없는 문법입니다.

 

#if문 상황
만약 '김제어' 학생의 점수가
90점 이상이면 A학점
80점 이상이면 B학점

 

 

제어문(control)이란

프로그램은 기본적으로 위에서부터

아래 방향으로 작성된 내용을 한 번씩 실행합니다.

그런데 상황에 따라서 기본적인 흐름을 제어하여

실행 순서를 바꾸거나 여러 번 반복하도록 하는 것이 제어문입니다.

 

 

파이썬 제어문의 종류
1. if문 (특정 조건의 만족 여부에 따라 실행)
2. while문 (특정 조건을 만족하는 동안 반복 실행)
3. for문 (특정 횟수만큼 반복 실행)


 

if문, 조건문 

 

특정 조건의 만족 여부에 따라 실행

 

 

아래 그림과 같이 조건문을 검사하여

True 이면 조건문 아래에 수행할 문장들을

순서대로 한 번씩 실행합니다.

만약 조건문이 False 이면

else 아래에 수행할 문장들을

순서대로 한 번씩 실행합니다.

 

if문, 조건문 기본 구조

 

if문의 조건문은 반드시 참/거짓

판별할 수 있는 논리 연산이어야 하기 때문에

불(bool) 자료형에 대한 충분한 이해가 필요합니다.

아래 링크를 통해 불 자료형, 논리형을 참고하세요~

 

 

11. 파이썬 불(Bool) 자료형, 논리형 (True/False)

#불자료형 #불린자료형 #bool #boolean #논리형 #참거짓 #True #False ​ 드디어 자료형의 종류 중 마지막! 불 자료형을 공부할 차례입니다. ​ 파이썬 자료형의 종류 1. 숫자형 2. 문자열 자료형 3. 리스트

planharry.tistory.com

 


음수, 양수, 0을 판별하는

간단한 if문을 작성해 보겠습니다~

 

con = 3  #'con'이라는 변수에 숫자 '3'을 할당

if con > 0 :  #조건문1에 논리 연산이 입력되었으며 True로 인식됨.  
    print("0보다 크기 때문에")
    print("양수 입니다.")

elif con < 0 :  #조건문1에 True로 인식되어 조건문2 실행안됨. 
    print("음수 입니다.")

else :   #조건문1에 True로 인식되어 else 실행안됨. 
    print("0 입니다.")
    
    

##### result #####

0보다 크기 때문에
양수 입니다.

 

위의 예제는 조건문에 숫자형을 사용해

논리연산을 만들었습니다.


 

그렇다면 불(bool) 자료형이나 문자열 자료형의

논리연산도 실행이 되는지 해보겠습니다~

모든 자료형은 아래 표처럼

불(bool) 자료형으로 변환할 수 있습니다.

자료형

참 (True)

거짓 (False)

숫자형 (정수, 실수)

0이 아닌 숫자가 있는 경우

0 인 경우

문자열

1개 이상의 문자가 있는 경우

문자가 없는 경우, " "

리스트, 튜플, 딕셔너리

1개 이상의 값이 있는 경우

값이 없는 경우, [ ] ( ) { }

money = True   #money라는 변수에 불자료형 True를 할당합니다. 

if money :  #조건문에 True를 가진 money라는 변수가 입력되었습니다.
    print("커피를 사서 마신다.") #if문이 True이니 if블록을 출력합니다.
else : 
    print("커피를 마시지 않는다.")
    
    
    
##### result #####    
    
커피를 사서 마신다.

 

money = 5000   #money라는 변수에 숫자형 5000을 할당합니다. 

if money :  #money가 0이 아닌 숫자형이기 때문에 True로 인식됩니다.
    print("5000원으로 커피를 마신다.") #if문이 True이니 if블록을 출력합니다.
else : 
    print("커피를 마시지 않는다.")



if 0 :  #숫자형에서 0는 False 로 인식됩니다.   
    print("값이 존재")
else :
    print("숫자형 0은 False이며")
    print("0을 출력합니다.")
    
    
    
    
##### result #####    
    
5000원으로 커피를 마신다.

숫자형 0은 False이며
0을 출력합니다.


 

비교 연산자를 활용한 if문을 만들어 보겠습니다.

파이썬에서는 아래와 같이 비교 연산자를 씁니다.

 

비교 연산자

설명

x < y

x가 y보다 작다.

x > y

x가 y보다 크다.

x == y

x와 y가 같다.

x != y

x와 y가 같지 않다.

x >= y

x가 y보다 크거나 같다.

x <= y

x가 y보다 작거나 같다.

 

print(3 != 4)
print(3 == 2)
print(3 >= 2)
print(3 >= 3)



##### result #####

True
False
True
True

 

 

if  1+1 : #2라는 숫자형을 갖고 있기 때문에 True 
    print(2)


if  2>1 : #비교연산자 True
    print("2가 1보다 크다.")


if  1>3 : #비교연산자 False
    print("1은 3보다 크다.")
else :
    print("1은 3보다 작다.")



##### result #####

2

2가 1보다 크다.

1은 3보다 작다.

 


리스트나 튜플 내의 요소가 있는지 없는지

확인하여 참 거짓을 확인할 수도 있습니다.

 

print(1 in [1,2,3]) #리스트 내에 1이 있으면 True 없으면 False
print(1 in [2,3,4]) 

print(1 in (1,2,3)) #튜플 내에 1이 있으면 True 없으면 False
print(1 in (2,3,4)) 

print('red' in ['red','blue','green']) #리스트 내에 red가 있으면 True 없으면 False



##### result #####

True
False

True
False

True

data = ["Time","City","Money"]

if "Money" in data :
    print("돈이 있으니")
    print("여행을 갈 수 있다.")
else :
    print("여행을 못간다.")
    
    
    
##### result #####

돈이 있으니
여행을 갈 수 있다.

 


 

만약 참/거짓에 대한 결괏값을 출력하지 않고

넘기고 싶으면 어떻게 해야 할까요?

그땐 pass를 입력하면 됩니다.

 

 

data = ["Time","City","Money"]

if "Money" in data :
    pass
else :
    print("여행을 못간다.")
    
    
    
##### result #####

        #pass를 입력했기 때문에 아무 결과값도 출력되지 않는다.

if문의 여러 가지 사용법을 알아봤습니다.

이 외에도 다양한 if문 예문이 있는데요.

네이버나 구글에서 'if문'을 검색하여

다른 사람이 작성만 문장들을 공부하시면

큰 도움이 될 것 같습니다~