╱╱╭╮╱╱╱╱╱╱╭━━━╮╱╱╱╭╮╱╭╮╱╱╱╱╱╱ ╱╱┃┃╱╱╱╱╱╱┃╭━╮┃╱╱╱┃┃╱┃┃╱╱╱╱╱╱ ╱╱┃┣━━┳━━╮┃┃╱┃┣━╮╱┃╰━╯┣━━┳━╮╱ ╭╮┃┃╭╮┃┃━┫┃╰━╯┃╭╮╮┃╭━╮┃╭╮┃╭╮╮ ┃╰╯┃╭╮┃┃━┫┃╭━╮┃┃┃┃┃┃╱┃┃╭╮┃┃┃┃ ╰━━┻╯╰┻━━╯╰╯╱╰┻╯╰╯╰╯╱╰┻╯╰┻╯╰╯

Python/Python 기초

[Python] 조건문(if, else, elif)

재안안 2022. 3. 1. 15:26

프로그램을 작성할 때 항상 실행시키는게 아닌 조건에 따라

실행시켜야하는 기능들을 만들어야하는 경우가 있다.

이때 사용하는 것이 조건문이다.

그리고 프로그램은 위에서 아래로 진행되는데 제어문을 사용하면 조금씩 바꿀 수 있다.

if문은 조건을 걸고 이 조건의 결과값이 True or False이냐를 통해 코드를 실행시킨다. (프로그램의 진행을 제어한다.)

 

if문의 사용형식은 아래통해 설명하겠다.

 

https://docs.python.org/3.9/reference/compound_stmts.html#if

if는 키워드

assignment_expression은 조건

:은 제어문의 범위 지정

suite는 실행코드들을 뜻한다.

 

 

x, y, z 선언
if문 사용

 

if 키워드로 if문임을 알렸고 (x>0)이라는 조건을 걸고 실행코드를 적어주었다.

조건식이 참을 반환해 양수입니다.가 출력되었다. 실행은 잘 되었지만 하나 유의할 점이 있다.

 

여기서 if문의 제어범위는 3번째 줄까지라는 것이다.제어 범위가 적으면 적을 수 있는 코드가 많지 않다. 만약 계속해서 적으면 3번줄만 옆으로 엄청 길어질 것이다. 이때 편의와 가독성을 위해 들여쓰기(indentation)를 사용해 제어 범위를 늘려준다.

 

if문 들여쓰기 사용

 

: 아래에 들여쓰기된 문장들은 모두 제어 범위로 포함된다. 보통 들여쓰기를 통한 방식으로 많이 사용하고

파이썬은 들여쓰기(indentation)을 통해 범위를 표시하기 때문에 들여쓰기를 꼭 숙지해야한다.

 

다음은 if의 짝궁 else에 대해 알아보겠다. else 또한 키워드이다.

 

https://docs.python.org/3.9/reference/compound_stmts.html#if

if가 어떠한 조건일 때 ~해라 라고 한다면

else는 if의 조건이 맞지 않을 때 ~해라 라고 한다. 그래서 else는 독립적으로 쓰일 수 없고 if와 else는 서로 한쌍을 이룬다. 여담으로 else는 위쪽에서 가장 가까이 있는 if와 짝이된다.

 

아래의 예시를 통해 알아보겠다.

 

if~else 사용 예시

if와 else가 짝이되었다. else는 짝이된 if와 같은 라인을 맞춰주면 된다. (들여쓰기 x)

else에 짝이 없으면 오류가 뜬다.

 

1, -1, 0 입력

여기서 0을 입력했을때 음수입니다.가 출력됐는데 이는 if문의 조건 (x>0)에서 거짓이 나왔기 때문이다.

 

if (조건) -> 참 -> 4번 실행 

if (조건) -> 거짓 -> 6번 실행  

 

이와같이 if와 else를 사용하면 원하는 값을 선별해 낼 수 있다.

만약 이때 더 많은 조건들을 걸수록 자세한 값들이 나온다.

더, 더, 더 자세한 값을 선별하고 싶을 때는 if문을 중복하여 사용할 수 있다.

 

 

아래의 예제를 통해 알려주겠다. 참고로 선으로 if~else 짝을 표현했다.

if~else문 중첩

여기서 10번 줄이 실행되기 위해선 x>0이 , ㅌ>=0이 , 그리고 x%5==0도 이여야 한다.

if 문의 중첩은 아래의 구조를 띄고있다.

 

if 조건 1: 조건1이 일때 실행문장

    if 조건 2 : 조건 1이 이고 조건2도 일 때 실행문장

        if 조건 3 : 조건 1,2 가 이고 조건 3도 때 실행문장

 

5, 0, 13 입력후 실행 결과

 

다음으로는 elif에 대해 알아볼 것이다.

 

https://docs.python.org/3.9/reference/compound_stmts.html#if

elif는 사실 else와 if가 합쳐진 것이다. elif는 else if와 같다.

else는 위에 있는 if와 짝을 이룬다고 했다. 그런데 왜 뒤에 있는 if와 합쳐진 것일까? 이는 사용자의 편의를 위해서 추가된 기능이다.

elif의 사용 형식에 대해 말해보자면 아래와 같다.

 

앞의 조건이 거짓일 때 (else) + 조건 추가(if)

 

 

if 조건1 : 조건1이 때 실행문장

elif 조건2 : 조건1이 거짓이며, 조건2가 일 때 실행문장

elif 조건3 : 조건 1,2이 거짓이며, 조건3이 일 때 실행문장

. . .

else : 위의 모든 조건이 거짓일 때 실행문장

 

 

아래의 예제를 통해 알아보겠다. 아래의 예제에도 if~else의 짝을 표현했다.

 

elif 사용 예제

elif는 '위의 조건들이 모두 거짓일 때 내차례다'라고 생각하면 된다.

마지막으로 하나만 더 보고 마무리 하겠다.

 

아까와 같은 에제에서 elif를 사용했다.
실행 예제

 

8번줄에 elif 형식을 사용하려다 보니까 '10보다 작습니다' 문구 출력을 삭제해야 했다.

이런경우도 있으니 if~else와 elif를 유동적이게 사용하면 되겠다.