서론
오랜만에 파이썬 강좌를 쓰게 됬다. 시험이 끝났음에도, 좀 몸살같은 것때문에 시리, 5일간 좀 피곤에 쩔어 살았는데, 주말에 푹자니, 좀 낫는 기분이다. 그래서 여유있게 파이썬 강좌를 쓰려한다.
if문? 그게 뭐징...
if문은 파이썬의 문법 중 하나로 조건을 걸어, 그 상황에 맞게 대응하기 할 수 있다.
아래에 if문을 활용한 유명한 프로그래머 짤이 있는데 보고 가자.
짤 설명을 하자면, 보통 일반인이라면, 마트에 가서 우유를 구매 후, 아보카도가 있다면 아보카도를 6개 사갈 것이고, 없다면 우유만 사가지고 갈 것이다. 하지만 이 짤을 컴파일러, 인터프리터 관점에서 본다면, 우유를 사 되, 아보카도가 있다면, 우유를 6개 사라는 것이다. 이 짤을 코드로 표현하면 대략 이렇다.
mart = ["milk", "apple", "avocado"]
myshoppingslist = []
if "avocado" in mart:
for i in range(6):
myshoppingslist.append(mart[0])
print(myshoppingslist)
마트라는 리스트 안에 아보카도가 있다면, 나의 쇼핑리스트에 우유를 여섯번 추가하는 코드이다.
(if문 밑에 for i in range(6)은 신경쓰지 않아도 된다.)
이런 식으로 if문은 내가 원하는 값을 얻기 위해 사용하거나, 해당 상황에 대응하기 위해 사용하는 문법이다.
사용법
파이썬의 if 문은 들여쓰기를 통해 수행할 내용을 정한다.
if 조건:
수행할 내용
elif 조건:
수행할 내용
else:
수행할 내용
이런 식으로.
if 는 조건을 걸 수 있고, elif는 추가 조건, else는 위에 조건들을 제외한 경우이다.
여기서 짚고 넘어가야 할 건, 만약 코드가 이렇다고 가정을 해보자.
a = 1
if a < 3:
print("a < 3")
elif a < 5:
print("a < 5")
else:
print("else")
그럼 코드 실행결과를 예측해보자. 두가지 대답이 나올 것 같은데,
1. "a < 3"이 출력된다.
2. "a < 3" "a < 5" 두 개가 출력된다.
이렇게 대답이 갈릴 것 같은데, 정답은 1번이다. 이렇게 위에 if문에 걸려서 if의 내용을 수행하면 밑에 elif 나 else는 조건이 성립되도, 수행하지 않는다. 대신 그래도 한 if 문에 조건을 여러가지 거는 방법이 있으니, 끝까지 읽어보도록 하자.
그럼 이제 조건을 거는 법을 알아보도록 하자.
내가 앞쪽에서 설명하지 않았지만, 파이썬 자료형 중에는 boolean 자료형이 존재한다. 이 자료형은 Trun, False만 존재한다.
A = True
if A:
print("is that true?")
else:
print("hmm....")
이렇게 코드를 짜면, A가 true이므로 if 문을 타게 된다. A를 false로 바꿀 경우 else를 타게된다. 이렇게 if문은 옳다면 if 아니면 else를 타는 구조라 생각하면 편하다.
이 밖에도, 비교 연산자를 통해 조건을 걸 수 있는데, 비교 연산자를 나열하면 이렇다.
-
a > b: a가 b보다 크다
-
a < b: a가 b보다 작다
-
a >= b: a가 b보다 크거나 같다
-
a <= b: a가 b보다 작거나 같다
-
a == b: a 와 b가 같다
-
a != b: a와 b가 같지 않다
이 비교연산자를 활용해 성적을 구별하는 프로그램을 만들어보자.
score = int(input())
if score >= 90:
print("A")
elif 90 > score >= 80:
print("B")
elif 80 > score >= 70:
print("C")
elif 70 > score >= 60:
print("D")
else:
print("E")
이런 식으로 입력하는 값이 90보다 크거나 같으면 A.
90보다 작고, 80보다 크거나 같으면 B.
이렇게 코드를 짤 수 있다.
또한 위에 아보카도 짤에서 나온 것처럼 리스트 안에 대상이 있는 지 없는 지로도 if문을 짤 수 있다.
list1 = [1,2,3,4]
if 2 in list1:
print("WOW")
else:
print("Hmm...")
리스트에 1,2,3,4 이라는 원소가 들어있는데 if 문에서 조건을
2 in list1
라고 걸어주었기 때문에, 2가 list1이라는 리스트 안에 있기 때문에 조건이 성립하여 WOW가 출력되게 된다.
그리고 마지막으로 한 if 안에 여러가지 조건을 넣는 법을 알아보자.
a = 210
if a > 3:
if a > 5:
if a > 10:
print("high")
이렇게 if문에 if문을 넣는 식으로 코드를 짤 수도 있지만...
a = 210
if a > 3 and a > 5 and a > 10:
print("high")
and연산자를 통해 한 if문 안에 여러 조건을 넣을 수 있다.
끝맺는 말
뭔가 이번에도 좀 글이 어수선한 느낌인데, 한번 쓱 문법 끝까지 나간후에, 한번 글을 정리하도록 하겠다. 그리고 마지막 쪽에 and 연산자가 나왔는데, 이런 연산자에 대해서도 따로 다루도록 하겠다.
'코딩 이야기 > 프로그래밍 언어 이야기' 카테고리의 다른 글
자바(java)와 자바스크립트(javascript)의 차이점 (0) | 2021.07.21 |
---|---|
짱 쉬운 파이썬 강좌 #6 for문 (6) | 2020.12.04 |
짱 쉬운 파이썬 강좌 #4 딕셔너리 (0) | 2020.10.17 |
짱 쉬운 파이썬 강좌 #3 리스트 (0) | 2020.10.15 |
짱 쉬운 파이썬 강좌 #2 변수 (0) | 2020.10.02 |