개발/파이썬

파이썬 기초. if 와 elif

웅'jk 2022. 11. 17. 15:56

조건문 if 에 대해 조금 더 알아봅시다.

 

우리가 주어진 문제에 조건이 하나인 경우도 있지만, 여러개인 경우도 있습니다.

 

예시를 한번 들어보겠습니다.

 

# 사과의 갯수를 확인해서,
# 사과가 10개이상이면, '구매할 필요가 없습니다. 여유 있습니다.'
# 사과가 5개 이상이면, '적정량을 유지하고 있습니다.'
# 사과가 2개 이상이면, '사과를 구매할 타이밍입니다.'
# 그렇지 않으면, '사과가 거의 없습니다.'

# 출력하세요.

 

위와 같은 상황을 배운 것만을 이용해 풀어봅시다.

위 처럼 코드를 작성하셨을 겁니다. 여기서 내가 원하는 부분 뿐만 아니라

원하지 않는 부분도 실행이 된걸 볼 수 있습니다.

각각의 if문들이 돌아갔기 때문이죠.

내가 원하는 부분만 보이기 위해선 조건문들간에 서로 종속이 필요합니다.

즉 내가 10개면 첫 조건문만 실행되고 나머지는 실행이 안되어야 하며,

3개인경우 3번째 조건문만 실행되기 위해서는 다음과 같이 작성하여야 합니다.

위에 코드와 다른점은 elif 를 이용한 점인데요 

elif 는 else if 를 뜻하며 다른 조건식을 의미합니다.

첫번째 조건식을 만족하지 않으면 else 가 아닌 

두번째 elif 조건문을 실행하게 되며 이것 또한 만족하지 않는 경우

세번째 elif 조건문을 실행하게 됩니다. 이마저도 아니게 될시 else를 실행합니다.

 

다음으로는 중첩된 조건문입니다.

중첩된 조건문이란? 조건문 안에 또다른 조건문이 있는 경우입니다.

자 여기 무언가 굉장히 더러운 if 문이 있습니다. 무엇인지 잘 모르겠죠.?

맨 처음 줄만 봅시다. if 로 시작하니 조건문이겠네요. 

조건을 보니 True 값이므로 2번째줄을 봅시다.

또 다시 if 문이네요 이번에는 false 값이므로 두번째 if문과 연결된 else로 갑니다.

else를 보니 조건문이 또 있네요 True이므로 세번째 if 문으로 가서 조건을 확인합니다

True 이기때문에 안에 결과값인 2를 출력합니다. 그러면 세번째 if와 연결된 else 는 무시하고

그다음 print('4')를 실행합니다. 무사히 첫번째 if문을 빠져나와서 마지막으로 print('6')을 해주시면 됩니다.