04 — LECTURE ·PY-05 ·2026.02.05

05. 조건문

if / elif / else로 조건에 따라 코드 분기하기

목차
  1. 학습 목표
  2. 1. 조건문이란?
  3. 정의
  4. 사용 예
  5. 기본 구조
  6. 들여쓰기 (Indent)
  7. 실습 5-1. 양수 판별 — if ~ else 기본형
  8. 2. 비교 연산자
  9. 6가지 비교 연산자
  10. 실습 5-2. 비교 연산자 참/거짓 확인
  11. 실습 5-3. 짝수/홀수 판별
  12. 3. 논리 연산자
  13. 3가지 논리 연산자
  14. 실습 5-4. and — 시험 합격/불합격 판정
  15. 실습 5-5. or — 입장료 무료 판정
  16. 실습 5-6. not — 빈 입력 감지
  17. 4. if ~ elif ~ else — 다중 조건 분기
  18. 구조
  19. 핵심
  20. 실습 5-7. 성적 등급 판정
  21. 실습 5-8. 비밀번호 확인
  22. 5. 스포츠 응용 — 농구 선수 기여도 비교
  23. 공식
  24. 활용 개념
  25. 연습 문제

스포츠 데이터로 배우는 파이썬 기초

학습 목표

  • 조건문의 개념과 필요성 이해
  • if, elif, else 구문 작성
  • 비교 연산자와 논리 연산자 활용
  • 들여쓰기(Indent)의 중요성 체득
  • 스포츠 상황에서 조건 분기 적용

1. 조건문이란?

정의

  • 조건에 따라 다른 코드를 실행하는 구문
  • “만약 ~하면 ~하다” 와 같은 상황에서 사용

사용 예

  1. 만약 점수가 80점 이상이면 → 합격
  2. 만약 나이가 65세 이상이면 → 입장료 무료
  3. 만약 10골 이상이면 → 에이스

기본 구조

if 조건식:
    조건이 참일 때 실행
else:
    조건이 거짓일 때 실행

들여쓰기 (Indent)

  • 파이썬은 들여쓰기로 코드 블록을 구분
  • Tab 키 또는 공백 4칸 사용
  • 들여쓰기가 맞지 않으면 IndentationError 발생

실습 5-1. 양수 판별 — if ~ else 기본형

# 양수 판별
x = int(input('숫자를 입력하세요: '))

if x > 0:
    print('양수!')
else:
    print('0 또는 음수!')
양수!

2. 비교 연산자

6가지 비교 연산자

연산자의미예시결과
>크다10 > 9True
<작다3 < 2False
>=크거나 같다10 >= 10True
<=작거나 같다5 <= 3False
==같다7 == 7True
!=다르다3 != 5True

실습 5-2. 비교 연산자 참/거짓 확인

x = 10
y = 3

print(x > 9)           # True
print(y <= 10)          # True
print(x + y == 13)      # True
print(x % 2 == 0)       # True (짝수)
print(y % 2 == 0)       # False (홀수)
True
True
True
True
False

실습 5-3. 짝수/홀수 판별

  • % 나머지 연산자 활용
  • 2로 나눈 나머지가 0이면 짝수
num = int(input('숫자를 입력하세요: '))

if num % 2 == 0:
    print('짝수이다.')
else:
    print('홀수이다.')
짝수이다.

3. 논리 연산자

3가지 논리 연산자

연산자의미사용 상황
and둘 다 참이면 참필기 그리고 실기 모두 80점 이상
or하나만 참이어도 참관리자 이거나 레벨 1
not참↔거짓 반전이름이 입력되지 않았으면

실습 5-4. and — 시험 합격/불합격 판정

  • 필기 그리고 실기 모두 80점 이상이어야 합격
score1 = int(input('필기 성적을 입력하세요: '))
score2 = int(input('실기 성적을 입력하세요: '))

if score1 >= 80 and score2 >= 80:
    print('합격!')
else:
    print('불합격!')
불합격!

실습 5-5. or — 입장료 무료 판정

  • 65세 이상 이거나 7세 미만이면 무료
age = int(input('나이를 입력하세요: '))

pay = '3000원'
if age >= 65 or age < 7:
    pay = '무료'

print('입장료:', pay)
입장료: 무료

실습 5-6. not — 빈 입력 감지

name = input('이름을 입력하세요: ')

if not name:
    print('이름이 입력되지 않았다.')
else:
    print('이름:', name)
이름이 입력되지 않았다.

4. if ~ elif ~ else — 다중 조건 분기

구조

if 조건1:
    조건1 참일 때
elif 조건2:
    조건1 거짓, 조건2 참일 때
elif 조건3:
    ...
else:
    모든 조건 거짓일 때

핵심

  • elif여러 개 사용 가능
  • 위에서부터 순서대로 검사 → 첫 번째로 참인 조건만 실행
  • else 는 생략 가능

실습 5-7. 성적 등급 판정

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

if score >= 90:
    grade = 'A'
elif score >= 80:
    grade = 'B'
elif score >= 70:
    grade = 'C'
elif score >= 60:
    grade = 'D'
else:
    grade = 'F'

print('성적: %d점' % score)
print('등급: %s' % grade)
성적: 75점
등급: C

실습 5-8. 비밀번호 확인

answer = '12345'
password = input('비밀번호를 입력하세요: ')

if password == answer:
    print('비밀번호 OK!')
else:
    print('비밀번호 Not OK!')
비밀번호 Not OK!

5. 스포츠 응용 — 농구 선수 기여도 비교

공식

  • 기여도 = 득점 + 리바운드×0.7 + 어시스트×1.2 - 턴오버×1.5

활용 개념

  • 변수 저장, 산술 연산, f-string, if 조건문
# 농구 선수 기여도 비교
name_a, pts_a, reb_a, ast_a, to_a = 'Curry', 32, 5, 6, 3
name_b, pts_b, reb_b, ast_b, to_b = 'Doncic', 30, 8, 8, 4

score_a = pts_a + (reb_a * 0.7) + (ast_a * 1.2) - (to_a * 1.5)
score_b = pts_b + (reb_b * 0.7) + (ast_b * 1.2) - (to_b * 1.5)

print(f'{name_a} 지표: {round(score_a, 1)}')
print(f'{name_b} 지표: {round(score_b, 1)}')

if score_a > score_b:
    print('더 높은 기여도:', name_a)
else:
    print('더 높은 기여도:', name_b)
Curry 지표: 38.2
Doncic 지표: 39.2
더 높은 기여도: Doncic

연습 문제

Q1. 다음 코드의 출력 결과는? (score = 85)

if score >= 90:
    print('A')
elif score >= 80:
    print('B')
else:
    print('C')
  • A) A B) B C) C

Q2. andor의 차이는?

  • A) and는 둘 다 참이어야 참, or는 하나만 참이어도 참
  • B) 둘 다 같음
# 연습 문제 정답
print("Q1 정답: B — 85는 90 미만이므로 첫 조건 통과, 80 이상이므로 'B'")
print("Q2 정답: A — and는 모두 참일 때, or는 하나만 참일 때 True")
Q1 정답: B — 85는 90 미만이므로 첫 조건 통과, 80 이상이므로 'B'
Q2 정답: A — and는 모두 참일 때, or는 하나만 참일 때 True