본문 바로가기

공부/python

(python) 선택1 - 조건문

=================

목차

조건문

관계 연산자

논리 연산자

연속적인 if-else문

=================

 

우리가 문제를 해결할 때, 어떤 조건에 따라서 두 개 또는 여러 개의 실행 경로

가운데 하나를 선택해야 하는 경우가 종종 있다.

 

예를 들어, 갑작스래 눈이 내리는 경우를 생각해보자.

눈이 오지 않으면 외출할 것이고, 눈이 오면 우산을 가지고 있는지 판단한다.

이를 순서도로 그리면 아래와 같다.

조건문

위 처럼 조건에 따라 결정을 내리는 문장을 조건문이라고 한다.

if-else는 "만약 조건이 참이라면 이것을 실행하고, 거짓이라면 저것을 실행해라"

라고 명령을 내리는 문장이다.

 

if-else에서 조건을 수식으로 표현하는 것을 '조건식'이라고 한다.

조건식 뒤엔 콜론( : )이 있다.

이것은 이 줄에서 명령이 끝나지 않고 뒤에 명령이 계속될거라고 요청하는 기호이다.

 

아래의 예제와 설명을 보자.

보시다시피 사용자에게 나이를 입력받고 나이가 19세 이하인가 20세 이상인가에 따라서 다른 결과가 출력되었다.

 

 

여담) 내용이 없다면 else는 생략해도 무관하다. 아래의 예를 보자.

자신의 상황에 맞게 사용하면 된다.

 

관계 연산자

위의 예제에서

 age <= 19 :

와 같이 수식으로 나타낸 문장이 있다. 여기서 조건을 나타내기 위한 연산자(붉은색)가 있는데,

이를 관계 연산자라고 한다.

연산자 의미
a == b a와 b가 같은가?
a != b a와 b가 다른가?
a > b a가 b보다 큰가?
a >= b a가 b보다 크거나 같은가?
a < b a가 b보다 작은가?
a <= b a가 b보다 작거나 같은가?

위의 연산에 따라서 참과 거짓으로 나뉘어 계산된다.

 

추가로 주의해야할게 하나있다. 관계 연산자 ==와 대입 연산자 =인데,

아래의 예를 보자.

보시다시피 =는 변수에 값을 대입하고, ==는 두 변수의 관계를 비교하는데 목적을 둔다.

 

논리 연산자

논리 연산자(logical operator)는 여러 개의 조건을 조합하여 참인지 거짓인지를 따질 때 사용한다.

AND(논리곱), OR(논리합), NOT(논리부정)이 있다.

연산 의미
a and b a와 b가 모두 참이면 참, 그렇지 않으면 b
a or b a나 b중에서 하나만 참이면 참, 모두 거짓이면 거짓
not a a가 참이면 거짓, 거짓이면 참

 

연속적인 if-else문

종종 조건에 따라서 다중으로 분기되는 결정을 내려야 하는 경우가 있다.

이럴땐 elif를 사용하면 된다. 아래의 예를 보자.

if, elif, else를 이용하여 들어오는 값에 따라서 여러 분기로 나누어 결과가 출력되도록 하였다.