파이썬 분기문, 비교 연산자 종류, elif else 차이, 실행 흐름 제어, 들여쓰기 규칙
지금까지 우리는 위에서 아래로 한 줄씩 순서대로 실행되는 단순한 코드만 살펴보았습니다. 하지만 우리가 매일 사용하는 스마트폰 앱이나 프로그램들은 훨씬 유동적으로 움직입니다. 예를 들어 내비게이션 앱은 '길이 막히면' 우회 도로를 안내하고, 가계부 앱은 '이번 달 지출이 예산을 초과하면' 경고 알림을 띄웁니다. 이처럼 특정 상황(조건)에 따라 컴퓨터가 서로 다른 행동을 하도록 선택권을 주는 제어문을 '조건문(if문)'이라고 합니다.
저 역시 초보 시절, 조건문을 배우고 나서야 비로소 "내가 진짜 살아 움직이는 프로그램을 만들고 있구나!" 하는 희열을 느꼈습니다. 조건문은 프로그램에 '지능'을 부여하는 첫 단추와 같습니다. 오늘은 파이썬이 상황을 판단하게 만드는 기준인 비교 연산자와 함께, 조건문의 핵심 구조를 완벽하게 정복해 보겠습니다.
1. 조건문의 뼈대: 만약(~라면)과 그렇지 않다면
파이썬에서 조건문을 만드는 가장 기본 공식은 if와 else입니다. 영어 뜻 그대로 "만약 조건이 참(True)이면 A를 실행하고, 그렇지 않으면 B를 실행해라"라는 뜻입니다.
money = 12000
if money >= 10000:
print("택시를 타고 간다.")
else:
print("걸어간다.")
위 코드를 실행하면 화면에는 "택시를 타고 간다."가 출력됩니다. money 변수에 든 값이 10000보다 크거나 같다는 조건이 '참'이기 때문입니다.
⚠ 파이썬 조건문의 절대 규칙 2가지
조건식 끝에는 반드시 콜론(
:)을 붙여야 합니다. 엑셀의 괄호 닫기처럼 "조건이 여기까지니 이제 아래 줄부터 행동을 지시하겠다"라는 엑셀의 신호입니다.실행할 코드는 반드시 '들여쓰기(Tab 또는 스페이스바 4칸)'를 해야 합니다. 파이썬은 눈에 보이는 들여쓰기를 통해 "이 코드는 if문에 박힌 식구들이다"라고 판단합니다. 들여쓰기를 맞추지 않으면
IndentationError라는 무서운 에러를 만나게 되니 VS Code가 자동으로 넣어주는 들여쓰기를 지우지 마세요.
2. 컴퓨터의 판단 기준: 비교 연산자와 논리 연산자
조건식 칸에 "돈이 많으면" 같은 애매한 인간의 말을 적을 수는 없습니다. 컴퓨터가 정확히 계산할 수 있도록 수학적 기호를 주어야 하는데, 이를 '비교 연산자'라고 합니다.
>,<,>=,<=: 우리가 아는 크기 비교 기호입니다.==(같다): 3편에서 배운 대입 기호(=)와 구별하기 위해, 진짜 양쪽이 같은지 비교할 때는 달라붙은 두 개의 등호를 씁니다. (예:score == 100)!=(다르다): 양쪽의 값이 서로 다를 때 참이 됩니다. 느낌표(!)는 프로그래밍 세계에서 'Not'을 의미합니다.
여기에 두 가지 이상의 조건을 동시에 엮고 싶을 때는 '논리 연산자'를 곁들입니다.
and: 양쪽 조건이 모두 참이어야 통과 (예:id == "admin" and pw == "1234")or: 양쪽 중 하나만 참이어도 통과 (예:card == True or cash == True)
3. 선택지가 여러 개일 때: elif의 등장
세상의 모든 일이 "이것 아니면 저것" 두 가지로만 나뉘지는 않습니다. 가령 학점을 줄 때도 A, B, C, D 등 여러 단계가 있죠. 이럴 때 사용하는 것이 if와 else 사이에 넣는 elif입니다. 'Else If'의 줄임말로, "앞의 조건이 아니라면, 이 조건은 어때?"라고 연속해서 물어보는 기능입니다.
score = 85
if score >= 90:
print("A 학점")
elif score >= 80:
print("B 학점")
elif score >= 70:
print("C 학점")
else:
print("F 학점")
파이썬은 위에서부터 순서대로 조건을 검사하다가, 조건이 딱 들어맞는 elif score >= 80 구간을 만나는 순간 해당하는 문장(B 학점)을 출력하고 조건문 전체를 탈출합니다. 즉, 아무리 elif가 밑에 수십 개 깔려있어도 단 하나의 정답만 맞추고 끝냅니다.
[핵심 요약 3줄]
조건문은
if 조건식:형태로 작성하며, 조건이 참일 때 실행할 코드는 반드시 아래 줄에 '들여쓰기'를 해서 구별해야 한다.두 값이 같은지 비교할 때는
==기호를, 다름을 비교할 때는!=기호를 사용하며 여러 조건을 묶을 때는and와or를 활용한다.3가지 이상의 다중 선택지를 판별할 때는
if와else사이에elif를 원하는 만큼 추가하여 촘촘한 조건 그물을 짤 수 있다.
0 댓글