“파이썬 기초 중 기초, 조건문”
파이썬은 컴퓨터의 언어로, 우리가 일상에서 배우는 언어와 구조가 유사하다. 언어를 구사하기 위해서는 먼저 단어를 알아야 하고, 그 단어들을 알맞게 사용하기 위한 문법을 알아야 한다. 이를 바탕으로 문장을 만들 수 있게 되면 비로소 우리는 그 언어로 의사소통할 수 있다.
파이썬을 공부할 때도 마찬가지이다. 기본 단어들과 문법을 먼저 알아야 컴퓨터와 의사소통할 수 있는 언어를 구사할 수 있다. 파이썬의 기본 단어들을 “데이터(Data)”라고 하며, 다양한 데이터 유형들이 있다. 데이터에 대해 어느 정도 숙지가 된 후에는 파이썬 기초 문법(Statement)을 익혀야 한다.
파이썬의 근간을 이루는 문법에는 크게 “if”, “for”, “while” 문이 있다. 이번 글에서는 조건에 따라 코드를 실행시키는 if 문에 대해 다룰 것이다.
1. “if” Statements
if 문은 조건문으로, 주어진 조건이 참(True)일 경우만 그 다음 문장이 실행된다. if 문의 기본 형식은 다음과 같다.
if condition:
statement_1
statement_2
“if” 바로 다음에 이어지는 “condition” 은 코드가 실행될 조건을 의미한다. 해당 조건은 True 또는 False 의 값을 가지는 boolean 타입으로 이루어진다.
(example 1 참고)
# example 1x = 3
y = 5if x < y:
print('x is smaller than y')
위 예시에서 x의 값은 3, y의 값은 5이다.
if 다음에 이어지는 조건은 “x < y” 로, x의 값이 y의 값보다 작은 경우 밑의 문장을 실행시킨다. 이 경우 3<5 의 값이 True 이므로 print(‘x is smaller than y’) 라는 문장이 실행된다.
2. “if”, “else” Statements
살펴본 바와 같이, if 문에서 주어진 조건이 False 일 경우 그 다음 문장을 실행되지 않는다. 만일 if 문의 조건이 False일 때 대신하여 수행될 문장을 지정하고 싶다면 어떻게 해야 할까?
예를 들어, a의 값을 판별하는 코드를 만든다고 생각해보자. a의 값은 사용자가 지정할 수 있도록 input 함수를 이용한다. a가 1일 경우 “That’s right!”을 프린트하고, a가 1 이외의 값일 때는 “That’s wrong. Try again!”을 프린트한다. 이와 같은 코드는 다음과 같이 구성할 수 있다.
# a 값을 미리 지정한다.
a = int(input('Write a number: '))# a 값을 판별한다.
if a == 1:
print("That's right!")
else:
print("That's wrong. Try again!")
이 경우, 사용자가 1을 input 값으로 지정한다면 첫번째 if 문이 실행된다. 그러나 사용자가 1 이외의 값을 input 값으로 지정한다면 if 문은 False가 되고, 그에 따라 else 문으로 넘어간다.
if condition:
statement_1
else:
statement_2
if-else 문의 기본 형식은 위와 같다. if 조건을 만족한다면 statement_1을, 그렇지 않다면 statement_2를 출력한다 .if-else 문은 조건 A와 조건 A의 여집합으로 구성된 명령을 나타내고 싶을 때 많이 사용되며, if 조건이 False일 경우 대안(else)을 제시한다는 면에서 유용하다.
3. “if”, “elif”, “else” Statements
지금까지 if, else를 활용한 조건문을 살펴보았다. if-else문을 활용하면 조건이 여러개인 경우도 파이썬 언어로 나타낼 수 있다.
(example 2 참고)
# example 2exam = int(input('What is your score?: '))if exam >= 80:
print('Your grade is A!')
else:
if exam >= 70:
print('Your grade is B!')
else:
print('Your grade is C!')
위 예시는 점수의 구간을 3개로 나누어 성적을 산출하는 코드이다. 사용자가 입력한 점수를 성적 산출 기준과 비교하여 A, B, C 성적을 알려준다.
**성적 산출 기준**
- (조건1) 80점 이상: A
- (조건2) 70점 이상 80점 미만: B
- (조건3) 70점 미만: C
이때, 성적 산출 기준은 3가지 조건으로 구성된다. if와 else 문을 두 번 중첩하여 3가지 조건에 대한 문장을 만들 수 있다. 그러나 만약 조건의 개수가 더 늘어난다면 어떻게 될까? if-else를 계속 중첩하기에는 코드가 너무 복잡하고 읽기 힘들어진다.
이 경우 파이썬은 “else”와 “if”가 결합된 “elif”를 제공한다. if 조건이 False일 경우 다음 문장으로 넘어가되, 또다른 조건을 설정할 수 있도록 하는 것이다. elif를 사용하는 기본 형식은 다음과 같다.
if condition_1:
statement_1
elif condition_2:
statement_2
elif condition_3:
statement_3
elif condition_4:
statement_4
else:
statement_5
elif는 여러번 반복해서 사용할 수 있으며, 그때마다 다른 조건을 부과하여 경우의 수를 나눠주는 역할을 한다. 앞서 살펴본 성적 산출 코드를 elif로 수정하면 다음과 같다.
(example 3 참고)
# example 3exam = int(input('What is your score?: '))if exam >= 80:
print('Your grade is A!')
elif exam >= 70:
print('Your grade is B!')
else:
print('Your grade is C!')
같은 조건에 같은 결과를 출력하는 코드이지만, example 3는 elif를 사용하여 더욱 간결하게 표현하였다. 이처럼 if-elif-else를 같이 사용하여 조건문을 손쉽게 만들 수 있다.
지금까지 파이썬 기초 문법 중 조건문에 대해 알아보았다. 파이썬으로 직접 위 코드를 따라해보며 if, elif, else의 사용 방법을 익혀보자.