0:00 if 조건문
4:50 조건식 안에 들어갈 수 있는 in 문법
7:15 그게 아니면~을 뜻하는 else 문법
지금까지 여러분이 짠 코드는 무조건 실행되고 있습니다.
근데 가끔은 이게 마음에 안들 경우가 있습니다.
매번 실행하는게 아니라 특정 조건이 맞을 때(전문 용어로 아다리가 맞을 때)만 실행하고 싶은 경우가 있습니다.
그럴 땐 if 라는 문법을 씁니다.
메세지를 출력해야하는데 매번 출력하면 안됩니다
예를 들면 중고차판매사이트를 만드는데
주문하기 페이지에서 이런 print문을 썼다고 가정해봅시다.
print('지금 주문가능합니다~')
괜찮은 세일즈 메세지군요.
근데 현재 재고량이 0이면 어쩌죠? 그럼 print문을 쓰면 안될 것 같습니다.
그런 상황에서 쓸 수 있는게 바로 if 조건문입니다.
"맨날 하지말고 이때만 print 해주세요~" 라고 컴퓨터에게 명령을 줄 수 있습니다.
쓰는 법은
if 조건식 :
실행할코드
이렇게 적으시면 조건식이 참일 때만 코드를 실행해줍니다.
조건식 안엔 대부분 부등호, 등호 이런게 들어갑니다.
1 > 0 이런거요.
그리고 실행할 코드는 indent를 넣고 적어주시길 바랍니다. indent 없으면 if문이 동작하지 않습니다.
고럼 다시 돌아가서
진짜 쇼핑몰 흉내내듯 재고량 데이터를 하나 만들어봅시다.
재고량 = 10
print('지금 주문가능합니다~')
재고량을 10개 할당해놨습니다. 근데 지금은 재고량과는 상관없이 print문이 동작합니다.
재고량을 0으로 수정해보십시오. 그래도 "주문가능합니다~" 글자가 뜨죠?
그럼 재고량이 0보다 클경우에만 print('지금 주문가능합니다~')를 실행해라
라고 코드를 짜고 싶으면 어떻게 코드를 짜야할까요?
재고량 = 10
if 재고량이라는게0보다크면 :
print('지금 주문가능합니다~')
이게 끝입니다.
근데 조건식안에는 한글이 아니라 코드를 적어주셔야되는데..
조건식엔 대부분 부등호, 등호 이런게 들어간다고 했죠?
그럼 이렇게 적으면 됩니다.
재고량 = 10
if 재고량 > 0 :
print('지금 주문가능합니다~')
그럼 이제 컴퓨터가 알아들을 수 있습니다.
재고량데이터가 0보다 클 때만 print를 실행해줍니다.
진짠지 확인해보고 싶으면 재고량에 저장된 변수를 0으로 바꿔보십시오.
그럼 print가 실행되지 않을 것 같군요.
(참고) 등호 두개를 연달아쓰면 같은지 비교할 수 있습니다. 1 == 0 이런 식입니다.
조건식 안에 들어갈 수 있는 in 문법
조건식 안엔 부등호말고 이상한 in 문법도 집어넣을 수 있습니다.
"얌마 혹시 list 자료 안에 'K5'라는게 있냐" 라고 물어보고 싶을 때 in 문법을 사용합니다.
예를 들면 이렇게 작성가능합니다.
중고차재고 = ['K5', 'BMW', 'Tico']
if 'K5' in 중고차재고 :
print('지금주문가능합니다~')
이번엔 if문 조건식 입력란에
'K5'가 중고차재고라는 자료에 있냐~라고 작성한겁니다.
그래서 그게 참이면 print를 실행해주는 코드입니다.
중고차재고 = ['K5', 'BMW', 'Tico']
if 'bmw' in 중고차재고 :
print('지금주문가능합니다~')
그럼 위의 코드는 실행하면 어떤 결과가 나올까요?
아무것도 안나옵니다.
왜냐면 'bmw'라는건 중고차재고 변수에 없습니다. (대소문자 구분 잘하셔야합니다)
그래서 조건식이 참이 아니기 때문에 if문 안의 print문이 실행되지 않습니다.
참이 아닐 때 뭔가 실행하고 싶을 때는 else 문법
아래의 if문은 참이 아니기 때문에 아무것도 실행해주지 않습니다.
재고량 = 0
if 재고량 > 0 :
print('지금 주문가능합니다~')
그럼 아무것도 출력되지 않으면 사용자는 불편을 느낄 수도 있겠죠?
그래서 조건식이 참이 아닐 때 뭔가 실행하고 싶으면 else 문법을 사용합니다.
재고량 = 0
if 재고량 > 0 :
print('지금 주문가능합니다~')
else :
print('재고량이 없네요 주문불가능함 ㅅㄱ')
이렇게 if문과 연달아서 else 를 써주시면
if 옆의 조건식이 참이아닐 때 뭔가 코드를 실행가능합니다.
그냥 영어해석하듯이 else는 "그게 아니면" 이런 식으로 해석하셔도 됩니다.
조건문 끝
(참고) 실은 elif 라는 문법도 있습니다.
조건식을 여러개 검사하고 싶을 떄, if문을 연달아서 두번 세번 쓰고싶을 때 쓰는 문법입니다.
심심하면 검색으로 알아보도록 합시다.
(참고2) 조건식이 참일 때 여러 줄의 코드를 실행하고 싶으면 그냥 실행하고 싶은 모든 코드를 indent 넣고 두줄 세줄 네줄 계속 작성해주시면 됩니다.