#조건문
1. 정의
참과 거짓을 판단하는 문장을 말한다.
>>> money = True
>>> if money:
>>> ...
이때 조건문은 머니가 된다.(여기서 'money'는 불 자료형으로 1과 0, 'True', 'False'만을 담는 자료형이다)
변수 money는 True이므로 조건문이 실행된다.
2. 비교 연산자
조건문의 참, 거짓을 판단할 때 비교 연산자를 사용한다. 이는 알아두는 것이 좋다.
비교연산자 | 설명 |
x < y | x가 y보다 작다. |
x > y | x가 y보다 크다. |
x == y | x와 y가 같다. |
x != y | x가 y보다 같지 않다. |
x >= y | x가 y보다 크거나 같다. |
x <= y | x가 y보다 작거나 같다. |
비교 연산자를 사용하면 코드에 알맞는 값을 True 또는 False로 리턴한다.
>>> x = 3
>>> y = 5
>>> x > y
False
>>> x != y
True
>>> x <= y
True
3. 연산자 and, or, not
조건문을 사용할 때 도움을 줄 수 있는 연산자다.
연산자 | 설명 |
x or y | x와 y 둘 중 하나라도 참이면 참이다. |
x and y | x와 y 모두 참이어야 참이다. |
not x | x가 거짓이면 참이다. |
#주어진 점심 시간에 무엇을 먹을까?
>>> money = 10000
>>> time = 60
>>> if money > 7000 and time > 30:
>>> print("돈까스를 먹자")
>>> else:
>>> print("삼각김밥을 먹자")
이 경우 돈도 7,000원이 있고 시간도 30(분)이상이므로 if 문의 '돈까스를 먹자'가 출력된다.
4. in, not in
리스트에서 사용할 수 있는 조건문이다.
x in (리스트, 튜플, 문자열 중 선택) | x not in (리스트, 튜플, 문자열 중 선택) |
>>> 3 in [1, 3, 5]
True
>>> 3 not in [1, 3, 5]
False
#IF 문
1. 기본 구조
>>> if 조건문:
>>> 코드1
>>> 코드2
>>> ...
>>> else:
>>> 코드a
>>> 코드b
>>> ...
조건문은 실행할 때 먼저 if 문의 조건을 확인한다. 참이면 if 문의 코드들(코드1, 코드2, ...)을 실행하고 거짓이라면 else 문의 코드들(코드a, 코드b)을 실행한다.
2. 들여쓰기
if 문을 만들 때는 'if 조건문:' 다음 코드(if문에 해당하는 코드들만)부터 if 문에 속하는 코드들을 들여쓰기를 해주어야 한다.
>>> if 조건문:
>>> 코드1
>>> 코드2
>>> 코드3
이때 들여쓰기를 동일하게 맞춰주지 않거나 하지 않을경우 오류가 발생한다.
#하면 안되는 예시
>>> if 조건문:
>>> 코드1
>>> 코드2
>>>코드3
여기서 맞는 코드는 코드1만 해당하고 코드2와 코드3은 오류를 유발한다.
3. 콜론(:)
if 조건문이나 다른 조건문을 사용할 때 반드시 콜론(:)을 붙여야 한다.(특별한 이유는 없는듯 하다)
>>> if 조건문: #콜론(:) 필수!
>>> 코드1
>>> 코드2
>>> 코드3
4. if 문 한줄로 작성
if 문 다음에 수행할 문장이 한 줄이라면 한줄로 작성해줄 수 있다.
>>> money = 10000
>>> if moeny >= 7000: print("돈까스를 먹자")
>>> else: print("삼각김밥을 먹자")
한줄로 작성하더라도 if 조건문: 은 유지된다.
#elif 문
1. 기본 구조
>>> if 조건문:
>>> 코드1
>>> 코드2
>>> ...
>>> elif 조건문:
>>> 코드a
>>> 코드b
>>> ...
>>> ...
>>> else:
>>> 코드A
>>> 코드B
>>> ...
elif는 제한 없이 반복할 수 있으며 elif = else + if 이므로 조건문을 작성해야 한다. 앞의 점심을 먹는 방법을 더 복잡하게 생각한 예시를 보자
# 시간이 30분 이상있고 돈도 7,000원 이상이라면 돈까스,
# 시간이 없다면 햄버거를 먹고 돈이 없다면 삼각김밥을 먹자
>>> time = 30
>>> money = 10000
>>> if time >= 30 and money >= 7000:
>>> print("돈가스를 먹자")
>>> else:
>>> if time < 30:
>>> print("햄버거를 먹자")
>>> else:
>>> print("삼각김밥을 먹자")
if와 else만으로 코드를 만들면 간단하지만 코드가 길어진다. 이런 다중 조건 판단을 위해 'elif'가 존재한다.
# 시간이 30분 이상있고 돈도 7,000원 이상이라면 돈까스,
# 시간이 없다면 햄버거를 먹고 돈이 없다면 삼각김밥을 먹자
>>> time = 30
>>> money = 10000
>>> if time >= 30 and money >= 7000:
>>> print("돈가스를 먹자")
>>> elif time < 30:
>>> print("햄버거를 먹자")
>>> else:
>>> print("삼각김밥을 먹자")
훨씬 보기도 좋고 코드도 정렬이 잘 되어 보인다.
(해당 자료는 '점프 투 파이썬'을 참고하여 정리하였습니다)
'파이썬 > 파이썬 언어 공부' 카테고리의 다른 글
파이썬 프로그래밍(12) - for문 (0) | 2023.09.15 |
---|---|
파이썬 프로그래밍(11) - While문 (0) | 2023.09.13 |
파이썬 프로그래밍(9) - 불(bool) 자료형 (0) | 2023.07.18 |
파이썬 프로그래밍(8) - 집합 자료형 (0) | 2023.07.17 |
파이썬 프로그래밍(7) - 딕셔너리 자료형 (0) | 2023.07.17 |