콘텐츠로 이동

2장: 연산자와 조건문 — Python의 판단력

표현식과 연산자

표현식(Expression)은 값을 계산해서 결과를 만들어내는 코드입니다.

값1  연산자  값2  →  결과
 3     +     5   →   8

산술 연산자

print(10 + 3)    # 13  (덧셈)
print(10 - 3)    # 7   (뺄셈)
print(10 * 3)    # 30  (곱셈)
print(10 / 3)    # 3.3333...  (나눗셈, 결과는 float)
print(10 // 3)   # 3   (몫, 정수 나눗셈)
print(10 % 3)    # 1   (나머지)
print(2 ** 10)   # 1024  (거듭제곱)
연산자 이름 예시 결과
+ 덧셈 7 + 3 10
- 뺄셈 7 - 3 4
* 곱셈 7 * 3 21
/ 나눗셈 7 / 2 3.5
// 7 // 2 3
% 나머지 7 % 2 1
** 거듭제곱 2 ** 8 256

bool 타입

boolTrue 또는 False 딱 두 가지 값만 가집니다.

print(type(True))    # <class 'bool'>
print(type(False))   # <class 'bool'>

비교 연산자

두 값을 비교해서 bool을 돌려줍니다.

print(5 > 3)     # True
print(5 < 3)     # False
print(5 >= 5)    # True
print(5 <= 4)    # False
print(5 == 5)    # True
print(5 != 5)    # False
연산자 의미 예시 결과
> 크다 5 > 3 True
< 작다 5 < 3 False
>= 크거나 같다 5 >= 5 True
<= 작거나 같다 4 <= 3 False
== 같다 3 == 3 True
!= 다르다 3 != 4 True

논리 연산자

여러 조건을 조합할 때 씁니다.

print(True and True)    # True
print(True and False)   # False
print(False or True)    # True
print(False or False)   # False
print(not True)         # False
print(not False)        # True
연산자 의미 결과
and 둘 다 True여야 True True and FalseFalse
or 하나만 True여도 True True or FalseTrue
not True↔False 반전 not TrueFalse
age = 20
has_ticket = True

if age >= 18 and has_ticket:
    print("입장 가능")

조건문 (if)

기본 구조

if 조건:
    # 조건이 True일 때 실행
score = 85
if score >= 60:
    print("합격")

if-else

score = 45
if score >= 60:
    print("합격")
else:
    print("불합격")

if-elif-else

score = 75

if score >= 90:
    print("A")
elif score >= 80:
    print("B")
elif score >= 70:
    print("C")
else:
    print("F")

elif는 앞의 조건이 False일 때만 확인합니다. 위에서 아래로 순서대로 확인하다가 처음으로 True인 블록만 실행하고 나머지는 건너뜁니다.

들여쓰기 (Indentation)

Python에서 들여쓰기는 코드 블록을 구분하는 문법입니다. 스페이스 4칸을 씁니다.

# O (올바른 들여쓰기)
if True:
    print("블록 안")

# X (들여쓰기 없으면 에러)
if True:
print("에러!")

연산자 우선순위

수학처럼 Python도 연산 순서가 있습니다 (높을수록 먼저):

()          괄호 (가장 높음)
**          거듭제곱
*, /, //, % 곱셈·나눗셈
+, -        덧셈·뺄셈
>, <, >=, <=, ==, !=  비교
not         논리 부정
and         논리 곱
or          논리 합
=           대입 (가장 낮음)
print(2 + 3 * 4)      # 14  (곱셈 먼저)
print((2 + 3) * 4)    # 20  (괄호 먼저)
print(2 ** 3 + 1)     # 9   (거듭제곱 먼저)

실습 미션

미션 1: 원의 넓이 계산기

반지름을 입력받아 원의 넓이를 출력하세요.

넓이 = π × r²   (π = 3.14)
r = float(input("반지름: "))
# 여기에 코드 작성

# 반지름: 5
# 원의 넓이: 78.5

미션 2: BMI 계산기

몸무게(kg)와 키(m)를 입력받아 BMI를 계산하고, 체중 상태를 출력하세요.

BMI = 몸무게 / 키²

BMI < 18.5   → 저체중
BMI < 25.0   → 정상
BMI < 30.0   → 과체중
그 외         → 비만
weight = float(input("몸무게(kg): "))
height = float(input("키(m): "))
# 여기에 코드 작성

# 몸무게(kg): 70
# 키(m): 1.75
# BMI: 22.86
# 정상 체중입니다

미션 3: 홀수/짝수 판별기

숫자를 입력받아 홀수인지 짝수인지 출력하세요.

n = int(input("숫자: "))
# 여기에 코드 작성

# 숫자: 7
# 7은 홀수입니다

미션 4: 성적 등급 계산기

점수를 입력받아 등급(A/B/C/D/F)을 출력하세요.

90 이상 → A
80 이상 → B
70 이상 → C
60 이상 → D
그 외   → F
score = int(input("점수: "))
# 여기에 코드 작성

미션 5: 포물선 거리 계산

초기 속도 v와 발사 각도 θ를 입력받아 포물선 이동 거리 R을 계산하세요.

R = v² × sin(2θ) / g   (g = 9.8)
import math

v = float(input("초기 속도(m/s): "))
theta = float(input("발사 각도(도): "))
# 여기에 코드 작성  (힌트: math.sin(), math.radians())

핵심 요약

개념 설명
산술 연산자 +, -, *, /, //, %, **
비교 연산자 >, <, >=, <=, ==, != → bool 반환
bool True 또는 False 두 가지 값
논리 연산자 and, or, not — 조건 조합
if 조건이 True일 때 블록 실행
elif 앞 조건이 False일 때 다음 조건 확인
else 모든 조건이 False일 때 실행
들여쓰기 코드 블록을 구분하는 Python 문법
연산자 우선순위 () > ** > */ > +- > 비교 > not > and > or