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 조건문:
수행할 문장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는 개수에 제한 없이 사용할 수 있다.