조건문이란?
조건문은 프로그램의 흐름을 제어하는 문법이다.
조건문을 이용하여 조건에 따라서 프로그램의 로직을 설정할 수 있다.
변수에 들어있는 값에 따라 서로 다른 로직을 수행할 때 효과적으로 사용할 수 있다.
10 이상의 값을 가질 때 “x >= 10”을 출력하고
x가 0 이상이라면 “x >= 0”을 출력하고
x가 30 이상이라면 “x >=30”을 출력함을 명령하였다.
그리하여 출력 값은 30 이상을 제외하고 모두 출력되었다.
if와 비교 연산자를 넣어 '변수의 값이 어떤 값 이상이다' 라는 부등식을 넣어줄 수 있고
그 식이 참이면 if문 아래쪽의 print()가 실행된다.
들여쓰기
파이썬은 코드의 블록을 들여쓰기(indent)로 지정한다.
#2번은 무조건 실행된다. (print('프로그램을 종료합니다.'))
(*블록: 한 단위의 코드 묶음)
코드의 묶음이 어디서부터 어디까지인지 지정하기 위해서 들여쓰기를 이용한다.
위 예시를 설명하자면
85점으로 스코어가 초기화되었다.
70 이상일 때 들여쓰기가 같은 한 묶음이 실행된다.
한 코드 묶음 안에 추가적인 조건문이 있다.
점수가 70점 이상이되 90점 이상이라면, ‘우수한 성적입니다' 라고 추가적으로 출력한다.
스코어 값이 70 미만이라면
else 부분이 실행하게 된다.
블록을 설정할 때 들여쓰기를 이용한다.
‘프로그램을 종료합니다'는 들여쓰기가 적용되어있지 않으므로 무조건 실행된다.
조건문의 기본 형태
if ~ elif ~ else이다. (elif = else if)
조건문을 사용할 때 elif 혹은 else 부분은 경우에 따라서 사용하지 않아도 된다.
if 조건문 1:
조건문 1이 True일 때 실행되는 코드
elif 조건문 2:
조건문 1에 해당되지 않고, 조건문 2가 True일 때 실행되는 코드
else:
위 조건문들이 모두 True 값이 아닐 때 실행되는 코드
비교 연산자
비교 연산자는 특정한 두 값을 비교할 때 이용한다.
대입 연산자(=)와 같음 연산자 (==)의 차이점을 유의하라!
비교 연산자 | 설명 |
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 and Y | X와 Y가 모두 참일 때 참이다. |
X or Y | X와 Y 중 하나만 참이어도 참이다. |
not X | X가 거짓일 때 참이다. |
파이썬의 기타 연산자
다수의 데이터를 담는 자료형을 위해 in 연산자와 not in 연산자가 제공된다.
- 리스트, 튜플, 문자열, 딕셔너리 모두 사용 가능하다.
in 연산자와 not in 연산자 | 설명 |
x in 리스트 | 리스트 안에 x가 들어가 있을 때 참이다. |
x not in 문자열 | 문자열 안에 x가 들어가 있지 않을 때 참이다. |
파이썬의 pass 키워드
아무것도 처리하고 싶지 않은 때 pass 키워드를 사용한다.
예를 들어, 디버깅 과정에서 조건문의 형태만 만들어 놓고 조건문을 처리하는 부분은 비워놓고 싶은 경우에 사용될 수 있다.
조건문의 간소화
조건문에서 실행될 소스코드가 한 줄인 경우, 굳이 줄 바꿈을 하지 않고도 간략하게 표현할 수 있다.
조건부 표현식(Conditional Expression)은 if ~ else문을 한 줄에 작성할 수 있도록 해준다.
if 문이 중간에 들어간다.
파이썬 조건문 내에서의 부등식
다른 프로그래밍 언어와 다르게 파이썬은 조건문 안에서 수학의 부등식을 그대로 사용할 수 있다.
x > 0 and x < 20 과 0 < x < 20은 같은 결과를 반환한다.
'이코테 강의 정리' 카테고리의 다른 글
(이코테 w/ Python) 함수와 람다 표현식 (1) | 2022.06.20 |
---|---|
(이코테 w/ Python) 반복문 (0) | 2022.06.19 |
(이코테 w/ Python) 기본 입출력 (1) | 2022.06.17 |
(이코테 w/ Python) 사전, 집합 자료형 (0) | 2022.06.16 |
(이코테 w/ Python) 문자열과 튜플 자료형 (0) | 2022.06.15 |