목록으로

프로그래밍 · Python

Python 입문 시리즈 #5: if 조건문으로 프로그램 판단시키기

BeanCon
Python 입문자가 if 조건문으로 프로그램 판단 로직을 학습하는 과정을 표현한 대표 이미지

Python 입문 시리즈 5편입니다. 조건문 if의 개념과 기본 구조, 조건식, 비교 연산자, if/else/elif, 들여쓰기, and/or/not 논리 연산자, 중첩 조건문, 로그인 시스템 예제, 자주 하는 실수와 실습 문제를 정리했습니다.

1. 조건문 If Statement란?

지금까지 변수, 데이터 타입, 입력과 출력에 대해 배웠습니다. 이제부터는 프로그램이 상황에 따라 다른 행동을 하도록 만들어 볼 차례입니다.

조건문으로 만들 수 있는 기능
  • 나이가 20살 이상이면 성인이라고 출력하기
  • 비밀번호가 맞으면 로그인 성공하기
  • 시험 점수가 90점 이상이면 A학점 부여하기

이러한 기능들은 모두 조건문, 즉 Conditional Statement를 통해 구현됩니다.

조건문은 특정 조건이 참(True)일 때만 코드를 실행하는 문법입니다.

조건문의 의미

만약 이것이 맞다면 실행해라라는 판단 구조를 코드로 표현하는 방법입니다.

현실의 조건 판단 예시
  • 비가 오면 우산을 챙긴다.
  • 배가 고프면 밥을 먹는다.
  • 시험 점수가 높으면 장학금을 받는다.

2. if 문 기본 구조

Python의 가장 기본적인 조건문 형태입니다.

if 조건식:
    실행할 코드

예제입니다.

age = 20

if age >= 20:
    print("성인입니다.")

실행 결과입니다.

성인입니다.

age >= 20 조건이 True이므로 아래 코드가 실행됩니다.

age >= 20

3. 조건식과 비교 연산자

조건식은 결과가 True 또는 False로 나오는 식입니다.

10 > 5

결과입니다.

True
3 > 10

결과입니다.

False

조건문은 이러한 True/False 값을 기준으로 동작합니다.

비교 연산자 알아보기

연산자의미
==같다
!=같지 않다
>크다
<작다
>=크거나 같다
<=작거나 같다

비교 연산자 예제입니다.

age = 18

print(age == 18)
print(age > 20)

결과입니다.

True
False

4. if 문 실습 예제

예제 1. 성인 판별하기

age = int(input("나이를 입력하세요: "))

if age >= 20:
    print("성인입니다.")

입력입니다.

25

결과입니다.

성인입니다.

예제 2. 비밀번호 확인

password = input("비밀번호 입력: ")

if password == "1234":
    print("로그인 성공")

입력입니다.

1234

결과입니다.

로그인 성공

5. else 문 사용하기

조건이 거짓일 때 실행할 코드를 작성하려면 else를 사용합니다.

if 조건식:
    실행코드
else:
    실행코드

예제입니다.

age = int(input("나이를 입력하세요: "))

if age >= 20:
    print("성인입니다.")
else:
    print("미성년자입니다.")

입력입니다.

17

결과입니다.

미성년자입니다.

6. elif 사용하기

조건이 여러 개일 때는 elif를 사용합니다.

if 조건1:
    실행코드
elif 조건2:
    실행코드
else:
    실행코드

점수 등급 계산 프로그램

score = int(input("점수를 입력하세요: "))

if score >= 90:
    print("A 학점")
elif score >= 80:
    print("B 학점")
elif score >= 70:
    print("C 학점")
else:
    print("재시험")

입력입니다.

85

결과입니다.

B 학점

7. 들여쓰기 Indentation의 중요성

Python은 들여쓰기를 매우 중요하게 생각합니다. 다른 언어처럼 중괄호를 사용하지 않습니다.

올바른 예입니다.

if True:
    print("실행")

잘못된 예입니다.

if True:
print("실행")

결과입니다.

IndentationError
들여쓰기 규칙

보통 스페이스 4칸을 사용합니다. 조건문 아래에서 실행될 코드는 반드시 들여쓰기해야 합니다.

8. 논리 연산자 사용하기

논리 연산자를 사용하면 여러 조건을 동시에 검사할 수 있습니다.

연산자의미사용 상황
and둘 다 참이어야 참나이와 금액 조건을 모두 만족해야 하는 경우
or하나만 참이어도 참VIP 또는 쿠폰 중 하나만 있어도 되는 경우
not참과 거짓을 반대로 바꿈로그인하지 않은 상태를 확인하는 경우

and

age = 25
money = 10000

if age >= 20 and money >= 5000:
    print("영화 관람 가능")

or

vip = False
coupon = True

if vip or coupon:
    print("할인 가능")

not

login = False

if not login:
    print("로그인이 필요합니다.")

9. 조건문 중첩과 로그인 예제

if 문 안에 또 다른 if 문을 넣을 수 있습니다.

age = 25
member = True

if age >= 20:
    if member:
        print("회원 전용 서비스 이용 가능")

결과입니다.

회원 전용 서비스 이용 가능

실무 예제: 로그인 시스템

id = input("아이디 입력: ")
pw = input("비밀번호 입력: ")

if id == "admin":
    if pw == "1234":
        print("로그인 성공")
    else:
        print("비밀번호 오류")
else:
    print("아이디 없음")

실제 웹사이트 로그인 로직의 기본 원리입니다.

10. 자주 하는 실수와 실습 문제

초보자가 자주 하는 실수

= 와 == 헷갈리기

=는 값을 저장할 때 사용하고, ==는 두 값이 같은지 비교할 때 사용합니다.

들여쓰기 오류

조건문 아래 실행 코드는 반드시 들여쓰기해야 합니다.

문자열과 숫자 비교

input()으로 받은 값은 문자열이므로 숫자 비교 전 int()로 변환해야 합니다.

= 와 ==를 헷갈린 잘못된 예입니다.

if age = 20:

올바른 예입니다.

if age == 20:

들여쓰기 오류 예시입니다.

if age > 20:
print("성인")

문자열과 숫자를 비교하는 잘못된 예입니다.

age = "20"

if age > 18:

올바른 예입니다.

age = int(age)

if age > 18:

실습 문제

문제 1

사용자의 나이를 입력받아 20세 이상이면 성인, 미만이면 미성년자를 출력합니다.

문제 2

사용자의 점수를 입력받아 90 이상은 A, 80 이상은 B, 70 이상은 C, 그 외는 F를 출력합니다.

문제 3

비밀번호가 python123이면 로그인 성공, 아니면 로그인 실패를 출력합니다.

문제 3 출력 예시입니다.

로그인 성공

로그인 실패

11. 핵심 정리와 다음 편 예고

이번 시간에는 Python의 조건문인 if 문을 배웠습니다.

핵심 정리
  • if는 조건이 참일 때 실행합니다.
  • else는 조건이 거짓일 때 실행합니다.
  • elif는 여러 조건을 처리합니다.
  • 비교 연산자를 사용할 수 있습니다.
  • and, or, not을 활용할 수 있습니다.
  • Python은 들여쓰기가 매우 중요합니다.

조건문은 프로그래밍의 핵심입니다. 사용자의 입력에 따라 프로그램이 다른 결과를 보여줄 수 있게 되며, 로그인 시스템, 게임, 웹 서비스, AI 프로그램 등 거의 모든 소프트웨어에서 사용됩니다.

다음 편에서는 반복적으로 작업을 수행할 수 있는 반복문 Loop를 배워보겠습니다.

Python 입문 연재 6 예고
  • for 문 기본 문법
  • range() 함수 사용법
  • 리스트 반복하기
  • 중첩 반복문
  • 구구단 만들기 실습
  • 실무 활용 예제

댓글

0

댓글을 불러오는 중입니다.