Ch 03. 조건문(if)으로 논리 세우기 [파이썬 고등 수학 정복]

파이썬 조건문(if/elif/else) 마스터하고 싶으신가요? 불리언, 비교/논리 연산자 사용법을 배워 코드의 판단력을 키워보세요. 수학 공부를 위한 필수 코딩!

Part 1: 수학 공부를 위한 파이썬 첫걸음

Chapter 3: 조건을 판단하고 실행하기 (Making Decisions - Conditional Statements)

학습 목표

  • 참(True)과 거짓(False)을 나타내는 불리언(Boolean) 값을 이해한다.
  • 비교 연산자(==, !=, >, <, >=, <=)를 사용하여 두 값을 비교할 수 있다.
  • if 문을 사용하여 특정 조건이 참일 때만 코드를 실행할 수 있다.
  • else 문을 사용하여 if 조건이 거짓일 때 실행될 코드를 지정할 수 있다.
  • elif 문을 사용하여 여러 조건들을 순서대로 검사할 수 있다.
  • 논리 연산자(and, or, not)를 사용하여 여러 조건을 조합할 수 있다.

 

1. 컴퓨터는 어떻게 결정을 내릴까? 조건문

우리 삶은 끊임없는 선택과 결정의 연속입니다. "만약 비가 오면 우산을 가져간다", "만약 시험 점수가 90점 이상이면 A등급이다" 와 같이 특정 조건에 따라 다른 행동을 합니다. 컴퓨터 프로그램도 마찬가지입니다. 주어진 조건이 참인지 거짓인지 판단하고, 그 결과에 따라 정해진 작업을 수행해야 할 때가 많습니다. 이렇게 조건에 따라 프로그램의 실행 흐름을 제어하는 것을 조건문(Conditional Statement)이라고 합니다.

파이썬에서는 if, elif, else 키워드를 사용하여 조건문을 만듭니다. 조건문을 사용하면 프로그램이 훨씬 더 유연하고 지능적으로 동작하게 만들 수 있습니다.

 

2. 참(True) 또는 거짓(False): 불리언과 비교 연산자

조건문의 핵심은 조건을 참(True) 또는 거짓(False)으로 판단하는 것입니다. 파이썬에서는 이 두 가지 값을 불리언(Boolean) 타입이라고 부릅니다.

조건이 참인지 거짓인지 판단하기 위해 비교 연산자(Comparison Operator)를 사용합니다.

연산자의미예시결과
==같다 (Equal to)5 == 5True
!=다르다 (Not equal to)5 != 3True
>크다 (Greater than)5 > 3True
<작다 (Less than)5 < 3False
>=크거나 같다 (Greater or equal)5 >= 5True
<=작거나 같다 (Less or equal)5 <= 3False

주의: =는 값을 변수에 할당하는 할당 연산자이고, ==는 두 값이 같은지 비교하는 비교 연산자입니다. 혼동하지 마세요!

print(10 == 10)  # True
print(10 != 10)  # False
print("hello" == "world") # False
print(3.14 < 3)   # False

x = 5
print(x > 0)     # True
print(x <= 5)    # True

 

3. "만약 ~라면": if

가장 기본적인 조건문은 if 문입니다. if 키워드 뒤에 오는 조건식이 참(True)일 경우에만, 그 아래에 들여쓰기(indentation) 된 코드 블록이 실행됩니다.

if 조건식: # 조건식이 참일 때 실행될 코드 (반드시 들여쓰기!)

  • 조건식 끝에는 반드시 콜론(:)을 붙여야 합니다.
  • 실행될 코드는 반드시 같은 수준으로 들여쓰기 해야 합니다. (보통 공백 4칸 또는 탭 1칸 사용)
score = 95

if score >= 90:
  print("축하합니다! A등급입니다.") # 조건(score >= 90)이 참이므로 실행됨
  print("정말 잘했어요!")       # 같은 블록 안에 있으므로 함께 실행됨

print("프로그램 종료") # if 문과는 상관없이 항상 실행됨

temperature = 10
if temperature < 0:
  print("날씨가 매우 춥습니다. 영하입니다.") # 조건(10 < 0)이 거짓이므로 실행되지 않음

 

4. "그렇지 않다면": else

if 문의 조건이 거짓(False)일 때 실행할 코드를 지정하고 싶으면 else 문을 사용합니다. else는 단독으로 사용할 수 없고, 반드시 if 문 뒤에 와야 합니다.

if 조건식: # 조건식이 참일 때 실행될 코드 else: # 조건식이 거짓일 때 실행될 코드 (반드시 들여쓰기!)

  • else 뒤에도 반드시 콜론(:)을 붙여야 합니다.
age = 17

if age >= 20:
  print("성인입니다.")
else:
  print("미성년자입니다.") # age >= 20 이 거짓이므로 이 코드가 실행됨

num = 7
if num % 2 == 0: # 짝수인지 검사
  print("짝수입니다.")
else:
  print("홀수입니다.") # num % 2 == 0 이 거짓이므로 이 코드가 실행됨

 

5. "그것도 아니라면": elif

여러 개의 조건을 순서대로 검사하고 싶을 때는 elif (else if의 줄임말) 문을 사용합니다. if 조건이 거짓이면 첫 번째 elif 조건을 검사하고, 그것도 거짓이면 다음 elif 조건을 검사하는 식으로 진행됩니다. 모든 ifelif 조건이 거짓일 경우에만 마지막 else 블록이 실행됩니다 ( else는 생략 가능).

if 첫 번째 조건식: # 첫 번째 조건이 참일 때 실행 elif 두 번째 조건식: # 첫 번째 조건은 거짓이고, 두 번째 조건이 참일 때 실행 elif 세 번째 조건식: # 앞의 조건들이 모두 거짓이고, 세 번째 조건이 참일 때 실행 ... else: # 위의 모든 조건이 거짓일 때 실행 (선택 사항)

score = 75

if score >= 90:
  print("A등급")
elif score >= 80: # 90점 미만이지만 80점 이상인 경우
  print("B등급")
elif score >= 70: # 80점 미만이지만 70점 이상인 경우 (이 조건이 참!)
  print("C등급") # 이 코드가 실행되고 이후 elif/else는 검사하지 않음
elif score >= 60:
  print("D등급")
else:             # 60점 미만인 경우
  print("F등급")

# 순서가 중요합니다! 만약 elif 순서를 바꾸면 결과가 달라질 수 있습니다.

num = 0
if num > 0:
    print("양수")
elif num < 0:
    print("음수")
else: # num > 0 도 아니고, num < 0 도 아니면 (num == 0)
    print("0")

 

6. 조건들을 연결하기: 논리 연산자 (and, or, not)

여러 개의 조건을 조합하여 더 복잡한 판단을 내릴 수 있습니다.

  • and: 양쪽 조건이 모두 참(True)일 때만 전체 결과가 참(True). (그리고)
  • or: 양쪽 조건 중 하나라도 참(True)이면 전체 결과가 참(True). (또는)
  • not: 조건의 결과(True 또는 False)를 반대로 뒤집음. (아니다)
age = 15
height = 170

# 놀이기구 탑승 조건: 나이가 10살 이상이고 키가 140cm 이상
if age >= 10 and height >= 140:
  print("놀이기구 탑승 가능합니다.")
else:
  print("놀이기구 탑승이 불가능합니다.")

day = "토요일"
# 주말인지 확인: 토요일 또는 일요일
if day == "토요일" or day == "일요일":
  print("주말입니다! 쉬세요!")
else:
  print("평일입니다. 힘내세요!")

is_raining = False
# 비가 오지 않으면 (!= True 와 같음)
if not is_raining:
  print("날씨가 맑습니다. 산책하기 좋은 날씨네요.")
else:
  print("비가 옵니다. 우산을 챙기세요.")

# and, or, not 혼합 사용 및 괄호 사용
score = 85
attendance = True
# 통과 조건: 점수가 60점 이상이고 출석했거나, 점수가 90점 이상이면 (출석 무관)
if (score >= 60 and attendance == True) or score >= 90:
    print("과목 통과!")
else:
    print("과목 미이수.")

수학 문제에 적용하기

조건문은 다양한 수학적 판단에 활용될 수 있습니다.

  • 수의 성질 판별: 양수/음수/0, 짝수/홀수, 배수 판별 (num % 3 == 0 은 3의 배수)

  • 좌표 평면 사분면 판별:

    x = 3
    y = -2
    if x > 0 and y > 0:
        print("제 1 사분면")
    elif x < 0 and y > 0:
        print("제 2 사분면")
    elif x < 0 and y < 0:
        print("제 3 사분면")
    elif x > 0 and y < 0:
        print("제 4 사분면")
    else:
        print("축 위에 있음")
    
  • 이차방정식 근의 개수 판별: (Chapter 7에서 자세히 다룸)

    # 판별식 D = b**2 - 4*a*c 계산 후
    # if D > 0: print("서로 다른 두 실근")
    # elif D == 0: print("중근")
    # else: print("서로 다른 두 허근 (실근 없음)")
    
  • 범위 확인: 점수가 특정 구간(예: 80점 이상 90점 미만)에 속하는지 검사 (score >= 80 and score < 90)

  • 절댓값 계산:

    num = -5
    if num < 0:
        absolute_value = -num
    else:
        absolute_value = num
    print(f"{num}의 절댓값: {absolute_value}") # 내장 함수 abs(num) 사용 가능
    

직접 해보기 (Follow Along Exercise)

사용자로부터 정수 하나를 입력받아, 그 수가 짝수인지 홀수인지 판별하여 출력하는 프로그램을 작성해보세요. (% 연산자 활용)

# 직접 코드를 작성하고 실행해보세요!
num_str = input("정수를 입력하세요: ")
number = int(num_str)

if number % 2 == 0:
  print(f"{number}는(은) 짝수입니다.")
else:
  print(f"{number}는(은) 홀수입니다.")

 

연습 문제

  1. 사용자로부터 점수를 입력받아 90점 이상이면 "A", 80점 이상 90점 미만이면 "B", 70점 이상 80점 미만이면 "C", 그 외에는 "D"를 출력하는 프로그램을 if-elif-else 문을 사용하여 작성하세요.
  2. 세 개의 양의 정수 a, b, c를 입력받아, 이 세 수로 삼각형을 만들 수 있는지 판별하는 프로그램을 작성하세요. (삼각형 결정 조건: 가장 긴 변의 길이는 나머지 두 변의 길이의 합보다 작아야 한다.)
  3. 연도를 입력받아 윤년인지 아닌지 판별하는 프로그램을 작성하세요. (윤년 조건: 4의 배수이면서 100의 배수가 아니거나, 400의 배수일 때)

 

 

COMMENTS

이름

건강,21,경제,8,교통수단,6,선거,2,세금,1,시니어,1,음식,9,정부,7,집안관리,5,평생교육,15,software,11,
ltr
item
아이스콘.day: Ch 03. 조건문(if)으로 논리 세우기 [파이썬 고등 수학 정복]
Ch 03. 조건문(if)으로 논리 세우기 [파이썬 고등 수학 정복]
파이썬 조건문(if/elif/else) 마스터하고 싶으신가요? 불리언, 비교/논리 연산자 사용법을 배워 코드의 판단력을 키워보세요. 수학 공부를 위한 필수 코딩!
아이스콘.day
http://www.icecone.day/2025/04/python-high-school-math-ch03-conditional-if-statements.html
http://www.icecone.day/
http://www.icecone.day/
http://www.icecone.day/2025/04/python-high-school-math-ch03-conditional-if-statements.html
true
7981093494699837537
UTF-8
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE Search in 아이스콘.day ALL POSTS Not found any post match with your request Back Home 일요일 월요일 화요일 수요일 목요일 금요일 토요일 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월 Jan Feb Mar Apr 5월 Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago 어제 $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy 목차