PYTHON 제어문(조건문)

PromptAction·2023년 5월 2일

백엔드

목록 보기
4/20

PYTHON의 조건문에 대해서 먼저 알아볼거다.

조건문이 뭡니까?

ChatGPT는 : 파이썬에서 조건문은 프로그램의 흐름을 제어하는 구문 중 하나입니다. 조건문은 주어진 조건이 참(True)인 경우에만 실행되는 코드 블록을 정의할 수 있습니다.

라고 대답해준다.
ex)

x = 10

if x > 0:
    print("positive")

위 코드에서 'if' 다음에 오는 조건문 'x>0'이 참(True)인 경우에만 "print"문이 실행되어 "positive"가 출력된다.

'if-else'문을 사용하면 조건이 참(True)인 경우와 거짓(False)인 경우에 각각 다른 코드 블록을 실행할 수 있다.

예를 들어, 변수 x가 0보다 크면 'positive', 그렇지 않으면 'non-positive'를 출력하는 코드를 보자.
ex)

x=-5
if x > 0:
   print('posivie')
else:
   print('non-positive')
->non-positive

보면 'if' 다음에 오는 조건문 'x>0'이 거짓(False)이므로 'else'다음에 오는 코드 블록이 실행되어 'non-positive'가 출력된 것이다.

조금 여러가지 경우를 실행하려면 'if-elif-else'문을 사용하여 참(True)인 경우와 거짓(False) 이외에도 연결하는 조건문에 따라 다른 코드 블록을 나타낼 수 있다.
예를 들어 변수 x가 양수이면 'positive', 0이면 'zero', 음수이면 'negative'를 출력하는 코드는 다음과 같다.

x = -3

if x > 0:
    print("positive")
elif x == 0:
    print("zero")
else:
    print("negative")
-> negative

이처럼 프로그래밍에서 조건을 판단하여 해당 조건에 맞는 상황을 수행하는 데 쓰는 것이 if문이다.

if 문의 기본 구조

if 조건문:
    수행할 문장1
    수행할 문장2
    ...
else:
    수행할 문장A
    수행할 문장B
    ...

조건문을 테스트해서 참이면 if문 바로 다음 문장(if 블록)들을 수행하고, 조건문이 거짓이면 else문 다음 문장(else 블록)들을 수행하게 된다. 그러므로 else문은 if문 없이 독립적으로 사용할 수 없다.

들여쓰기를 조심하자.

if문을 만들 때에는 if 조건문: 바로 아래 문장부터는 들여쓰기(indentation)을 해주어야 한다.

아래와 같이 작성하면 다 오류다

if 조건문:
    수행할 문장1
수행할 문장2
    수행할 문장3
    
if 조건문:
    수행할 문장1
    수행할 문장2
        수행할 문장3    

요즘 파이썬 커뮤니티에서는 들여쓰기를 할 때 공백(Spacebar) 4개를 사용하는 것을 권장한다. 또한 파이썬 에디터는 대부분 탭(tab)키로 들여쓰기를 하더라도 탭 문자를 공백 문자 4개로 자동 변환하는 기능을 갖추고 있다.

비교연산자

ex)

print(1 in [1, 2, 3]) -> True
print(1 not in [1, 2, 3]) -> False
print('a' in ('a', 'b', 'c')) -> True

pocket = ['paper', 'cellphone', 'money']
if 'money' in pocket:    
    print("택시를 타고 가라")
else:
     print("걸어가라")
     -> 택시를 타고 가라

elif를 사용한 예제
ex)

pocket = ['paper', 'cellphone']
card = True
if 'money' in pocket:
   print("택시를 타고 가라")
elif card:
   print("택시를 타고 가라")
else:  
   print("걸어가라")
-> 택시를 타고가라   

위는 elif 전의 조건문이 거짓일 때 수행된다. elif는 개수에 제한 없이 사용할 수 있다.

0개의 댓글