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 타입¶
bool은 True 또는 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 False → False |
or |
하나만 True여도 True | True or False → True |
not |
True↔False 반전 | not True → False |
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 |