파이썬 if 조건문 기초

if 조건문이란?

if는 영문법에서 만약~ 만일 ~ 이라고 쓰인다. 

If you can (만약 네가 할 수 있으면), If you don't mind (만약 네가 신경 쓰지 않는다면, 괜찮다면...)

영어에선 이런 if가 파이썬으로 와도 똑같다. 

 

만약~~가 ture(참) 일 경우, 만약 ~~가 false(거짓) 일 경우. 이렇게 조건을 붙여서 참이거나 거짓일 경우 지시된 문장을 실행하게 된다.

 

예문

coin = 1000                          #변수 coin은 1000

if coin > 500:                       #만약 coin(정수 1000)이 500보다 크면
    print("음료를 살 수 있습니다.")   #실행문 실행
else:                                #아니면     
    print("음료를 살 수 없습니다.")   #실행문 실행


음료를 살 수 있습니다.                #조건문이 참이기 때문에 if바로 밑의 실행문 실행됨

파이썬에서 if문 등의 조건문을 사용 할 때 항상 들여 쓰기를 해야 하는데 보통 탭을 눌러 빈 공간을 두는 것보다

스페이스바 4번으로 통일하면 된다.

스페이스바 6번이든 10번이든 공백을 얼마나 두던 상관없는데 이 경우엔 모든 들여 쓰기

공백 너비가 같아야 하기 때문에 코드가 여러 사람 오갈 시 혼란스럽게 될 수도 있고 통일성도 없다.

if조건문을 사용 한 다음에는 ( 콜론 : )을 잊지 말고 스페이스바 4번 들여 쓰기도 잊지 말자.

 

 

i f   c o i n   >   5 0 0 :            
- - > p r i n t ( " " )              

if문 마지막의 콜론과 4칸 공백으로 들여 쓰기.

e l s e :                              
- - - > p r i n t ( " " )              

else끝에 콜론과 들여 쓰기

else다음에는 당연하지만 조건문은 필요 없다. if에서 비교하고 참이 아닌 것은 자연스레 내려오기 때문이다.

 

 

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보다 작거나 같다

위 비교연산자를 사용해 이렇게도 프로그래밍 할 수도 있다.

 

coin = 700
bus = 2000
 
if coin > bus :                 #만약 coin이 bus보다 크면
    print("통과입니다.")         #통과
else:                           #아니면
    print("요금이 부족합니다.")  #요금이 부족합니다.
    
    
요금이 부족합니다.
password = "q1w2e3r4"
input = "1234"

if password == input :                  #password와 input이 같은지 비교
    print("통과입니다.")                 #같으면 통과
else:                                   #아니면
    print("비밀번호가 일치하지 않습니다") #비밀번호가 일치하지 않습니다.
    
    
비밀번호가 일치하지 않습니다.

조건이 거짓일경우 else로 내려가 해당 실행문을 실행하게 된다.

 

 

and, or, not

기호 설명
x or y x, y 둘 중 하나라도 참이면 참
x and y x, y 둘 다 참이어야 참
not x x가 거짓이면 참

or을 사용하는 경우

# or을 사용한 예문

coin = 700
passcard = True
bus = 2000
 
if coin > bus or passcard :     # coin > bus 와 passcard 둘 중 하나가 참일경우 참
    print("통과입니다.")         #통과
else:                           #아니면
    print("요금이 부족합니다.")  #요금이 부족합니다.
    
    
통과입니다.

 

and를 사용하는 경우

id = "kimkim12"
password = "q1w2e3r4"
idinput = "kimkim12"
psinput = "1234"

if id == idinput and password == psinput :  #두 ==비교연산자가 둘다 참인지 확인
    print("통과입니다.")                     #둘다 참일경우 통과
else:                                       #아니면
    print("비밀번호가 일치하지 않습니다")     #비밀번호가 일치하지 않습니다.
    
    
비밀번호가 일치하지 않습니다.

 

 

 

 

 

 

 

 

 

 

in, not in

프로그래밍 언어에서 드물게 파이썬에 존재하는 조건문이다.

x in 리스트 또는 튜플 x not in 리스트 또는 튜플

in : ~안에

안에 있는지, 안에 없는지 확인하는 조건문이다.

a = [1, 2, 3, 4, 5]      # 1~5까지 있는 리스트 변수 a

1 in a                   # a안에 1이 있다
True                     # 참이기 때문에 True출력

6 in a                   # a안에 7이 있다
Flase                    # 7이 없으므로 거짓

# 반대의 경우

1 not in a                # a안에 1이 없다.
Flase                     # 1이 있으므로 False출력

6 not in a                # a안에 7이 있다
True                      # 7이 없으므로 참

 

 


 

 

여러 조건을 사용할 수 있는 elif

if만약, else아니면

이 두가지만 가지고는 여러가지 조건을 동시에 사용하기에 벅차다.

만약 돈이 있으면 버스를 타고, 돈은 없고 교통카드가 있으면 지하철을 탈 수 있지만

둘 다 없는 경우엔 걸어야 한다.

이 조건을 if와 else만 사용할 경우엔

pocket = ['money','candy']        # 주머니에 돈과사탕이 있음
passcard = True                   # 교통카드도 가지고 있음

if 'money' in pocket :            # 만약 돈이 주머니에 있으면
    print("버스를 탑니다.")        # 버스를 탈 수 있다.
else:                             # 없는경우 
    if card :                     # 카드를 가지고(True) 있는가?에 대한 if문을 이용한 조건비교
        print("지하철을 탑니다.")  # 카드가 있으면(카드가 참이면) 지하철을 탑니다 출력
    else:
        print("걸어가라")          #아니면 걸어가라 출력.
        
        
버스를 탑니다.

보다싶이 if속에 if조건문이 또 들어가야 하고, 들여쓰기도 2배가 되어 굉장히 난잡하고 직관적이지 못하다.

하지만 elif를 사용하여

pocket = ['money','candy']       # 주머니에 돈과사탕이 있음
passcard = True                  # 교통카드도 가지고 있음

if 'money' in pocket :           # 만약 돈이 주머니에 있으면
    print("버스를 탑니다.")       # 버스를 탈 수 있다.
elif card:                       # 없는경우 카드의 참, 거짓을 확인
    print("지하철을 탑니다.")      # 참일경우 지하철을 탑니다 출력
else:
    print("걸어가라")          #아니면 걸어가라 출력.
        
        
버스를 탑니다.

if안에 넣어야 했던 if를 꺼내어 elif로 써주면서 두번 들여쓰기 할 필요도 없어졌고 조건비교 다시시작을 즉시 하기 때문에 보기에도 쉽다.

 

또 한가지 특이점은 elif를 사용하면 조건비교를 개수 제한 없이 사용할 수 있다.

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기