6. Python 조건문
(1) 조건구조의 기초
(기본적인 순차구조 알고리즘)
(기본적인 조건구조 알고리즘)
조건구조 알고리즘은 우산 챙기는 알고리즘에서 볼 수 있듯이 특정 조건에 따라 다른 일을 처리할 때 사용한다. 조건구조는 단어가 생소할 뿐이지 우리 일상생활 속에서 가장 많이 사용하는 알고리즘이다. "만약 비가 오면 우산을 가져가야지" 혹은 "내일이 쉬는 날이면 오늘 늦게 자야지" 등 우리가 항상 사용하고 익숙한 방식을 조건구조라고 하며 컴퓨터에게도 똑같이 적용할 수 있다.
(2) 조건문(if문) 형식
1 |
if 조건 1: |
2 |
(tab) 해야할 일1 |
3 | elif 조건 2: |
4 | (tab) 해야할 일2 |
5 | else : |
6 | (tab) 해야할 일 3 |
- if문을 사용할 때에는 간단하게 "만약 ~~~ 라면~~~을, 아니면 ~~~을" 문장을 떠올리면 쉽게 구현할 수 있다.
if문은 기본적으로 if ~ elif ~ else 로 구성되어 있으며 elif와 else는 필요에 의해 사용하지 않을 수 있다. 컴퓨터는 항상 if의 조건 1을 본 다음 만족하지 않으면 elif의 조건 2로 넘어오고 , 조건 2도 만족하지 않으면 else로 넘어가게 된다.
(조건 구조의 기본적인 흐름)
- 조건을 설정할 때에는 항상 연산자를 활용해야 한다. 컴퓨터에 사용할 수 있는 연산자 종류에는 크게 2가지가 있다.
1. 비교연산자
- 비교연산자는 수학에서 자주 사용하는 부등호를 사용하며, 총 6개의 연산자가 있다.
부등호 |
의미 |
a < b |
a가 b보다 작다 |
a <= b |
a가 b보다 작거나 같다 |
a > b |
a가 b보다 크다 |
a >= b |
a가 b보다 크거나 같다 |
a == b |
a와 b가 같다 |
a != b |
a와 b가 서로 다르다 |
- 대부분의 조건은 위의 부등호를 사용하여 만들 수 있다. (Ex. a가 0이라면 : a == 0 / a가 b보다 크다면 : a < b)
- 비교연산자를 사용할 때 중요한 것은 비교하는 두 데이터는 항상 타입이 일치해야 한다는 것이다. 타입이 일치하지 않으면 서로 비교할 수 없게 되어 오류가 발생하게 된다.
2. 논리연산자
- 논리연산자는 참과 거짓으로 하는 계산을 의미하며, 보통 조건과 조건을 연결해주는 일종의 접속사 혹은 다리 역할을 한다.
- 논리연산자는 총 3가지 존재하며 각각 쓰임새가 다르다.
논리연산 |
의미 |
a and b |
조건 a가 참 그리고 조건 b가 참일 때 |
a or b |
조건 a가 참 또는 조건 b가 참일 때 |
not a |
조건 a가 거짓일 때 |
- 논리연산자는 조건과 조건 사이에 주로 위치하며 괄호를 사용하여 우선순위를 직접 정해줄 수도 있다.
(3) 조건문(if문) 활용
- 지금까지 조건문에 대해 대략적으로 알아보았다. 지금부터는 실제 코드를 직접 작성하면서 그 기능을 익혀보자.
< 연습문제 1> |
숫자를 입력받고 양수인지 0인지 음수인지 구분하는 프로그램을 작성해보자. [입력] 정수 1개가 입력된다. [출력] 양수이면 "양수"를, 음수이면 "음수"를, 0이면 "0"을 출력한다. [입력예시] 5 [출력예시] 양수 |
<연습문제 2> |
숫자를 입력받으면 홀수인지 짝수인지 구분하는 프로그램을 작성해보자. [입력] 정수 1개가 입력된다. [출력] 홀수면 "홀수"를, 짝수면 "짝수"를 출력한다. [입력예시] 6 [출력예시] 짝수 |
<연습문제 3> |
휴대폰을 바꾸고 싶어진 왕고는 부모님과 내기를 하였다. 왕고가 이번 중간고사에서 수학과 영어 모두 90점이 넘는다면 핸드폰을 바꿔주는 것이다. 열심히 공부하는 왕고를 대신하여 왕고가 핸드폰을 바꿀 수 있는지 확인하는 프로그램을 작성해보자. [입력] 정수 2개가 입력된다. [출력] 왕고가 휴대폰을 바꿀 수 있다면 "yes"를, 아니라면 "no"를 출력한다. [입력예시] 90 80 [출력예시] yes |
- 연습문제는 if문의 구조부터 논리연산까지 연습해볼 수 있는 문제로 준비하였다. 한 문제씩 풀어보면서 if문 사용법에 익숙해지자.
바로 문제를 풀기 힘들다면 아래 코드를 참고하여 빈칸을 채우면서 감을 잡아보자.
<연습문제 1> |
in = int(input())
if __________ : print("양수") elif __________ : print("음수") else : print("0") |
<연습문제 2> |
in = int(input()) _______________ : print("짝수") ______ : print("홀수") |
<연습문제 3> |
math, en = int(input().split()) if ________________________ : print("yes") else : print("no") |
'Python' 카테고리의 다른 글
7. Python 자료형(심화) (0) | 2018.07.16 |
---|---|
5. Python 입력 받기 (0) | 2018.04.12 |
4. Python 변수 사용하기 (0) | 2018.04.12 |
3. Python 출력하기 (0) | 2018.04.11 |
2. Python으로 계산하기 (0) | 2018.04.11 |