04 — LECTURE ·PY-02 ·2026.02.02

02. 연산자

산술·비교·할당 연산자를 스포츠 데이터로 익힌다

목차
  1. 학습 목표
  2. 1. 산술 연산자
  3. 7가지 핵심 연산자
  4. 연산 우선순위
  5. 실습 2-1. 팀 기록 데이터로 산술 연산
  6. 실습 2-2. 연산 우선순위 확인
  7. 2. 비교 연산자
  8. 6가지 핵심 연산자
  9. 핵심 포인트
  10. 실습 2-3. 승점 비교 & 득점 목표 달성 확인
  11. 실습 2-4. 비교 연산자 종합 실습
  12. 3. 할당 연산자 (Assignment Operators)
  13. 개념
  14. 종류
  15. 실습 2-5. 경기 득점 누적
  16. 실습 2-6. 할당 연산자 응용
  17. 연습 문제

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

학습 목표

  • 7가지 산술 연산자 이해 및 활용
  • 6가지 비교 연산자로 조건 판단
  • 할당 연산자(+=, -=, *=)로 값 누적·갱신
  • 스포츠 데이터에 연산자 적용

1. 산술 연산자

7가지 핵심 연산자

연산자의미스포츠 활용예시
+더하기득점 합계18 + 2341
-빼기득실차55 - 3817
*곱하기승점(승×3)24 * 372
/나누기평균 득점55 / 232.39...
//훈련 사이클 수23 // 54
%나머지홀짝·라운드 판별23 % 53
**거듭제곱면적, 통계10 ** 2100

연산 우선순위

  • ***, /, //, %+, -
  • 괄호 () 로 우선순위 변경 가능
  • 나눗셈(/) 결과는 항상 float

실습 2-1. 팀 기록 데이터로 산술 연산

# 팀 기록 데이터
total_goals = 55
games_played = 23
league_games = 38

# 평균 득점 (/)
avg_goals = total_goals / games_played

# 남은 경기 수 (-)
games_left = league_games - games_played

# 몫과 나머지 (//, %)
training_cycles = games_played // 5      # 5경기씩 묶음 훈련 횟수
current_game = games_played % 5          # 현재 사이클에서 몇 번째?

# 거듭제곱 (**)
side = 100
area = side ** 2

print(f'평균 득점: {round(avg_goals, 2)}골')
print(f'남은 경기: {games_left}경기')
print(f'훈련 사이클: {training_cycles}회 완료, 현재 {current_game}경기째')
print(f'경기장 면적: {area}㎡')
평균 득점: 2.39골
남은 경기: 15경기
훈련 사이클: 4회 완료, 현재 3경기째
경기장 면적: 10000㎡

실습 2-2. 연산 우선순위 확인

  • 곱셈·나눗셈이 덧셈·뺄셈보다 먼저 계산됨
  • 괄호가 최우선
a = 10
b = 20
c = a + b * 10 - 5 / 5
print('a + b * 10 - 5 / 5 =', c)
print('타입:', type(c))     # 나눗셈 포함 → float
a + b * 10 - 5 / 5 = 209.0
타입: <class 'float'>
# 나머지·몫 연산
x = 10 % 3     # 나머지
print('10 % 3 =', x)

y = 7 // 3     # 몫
print('7 // 3 =', y)

z = 2 ** 3     # 거듭제곱
print('2 ** 3 =', z)
10 % 3 = 1
7 // 3 = 2
2 ** 3 = 8

2. 비교 연산자

6가지 핵심 연산자

연산자의미결과
>크다 (초과)True / False
>=크거나 같다 (이상)True / False
<작다 (미만)True / False
<=작거나 같다 (이하)True / False
==같다True / False
!=다르다True / False

핵심 포인트

  • 비교 연산의 결과는 항상 bool 타입
  • 조건문(if)에서 핵심적으로 사용

실습 2-3. 승점 비교 & 득점 목표 달성 확인

# 팀 승점 비교
team_a_points = 72
team_b_points = 68

print('A팀 우승?', team_a_points > team_b_points)    # True
print('승점 동률?', team_a_points == team_b_points)   # False

# 득점 목표 달성
son_goals = 23
target = 20
is_success = son_goals > target
print('20골 달성?', is_success)
print('타입:', type(is_success))
A팀 우승? True
승점 동률? False
20골 달성? True
타입: <class 'bool'>

실습 2-4. 비교 연산자 종합 실습

x = 10
y = 3

print(x > 9)              # x가 9보다 큰가?
print(y <= 10)             # y가 10 이하인가?
print(x + y == 13)         # x + y가 13인가?
print(x % 2 == 0)          # x가 짝수인가?
print(y % 2 == 0)          # y가 짝수인가?
print(y % 3 != 0)          # y가 3의 배수가 아닌가?
True
True
True
True
False
False

3. 할당 연산자 (Assignment Operators)

개념

  • 변수의 기존 값에 연산 후 다시 같은 변수에 저장하는 축약 표현
  • x += 1x = x + 1 과 동일

종류

연산자의미풀어쓴 코드용도
+=더해서 저장x = x + y득점 누적
-=빼서 저장x = x - y체력 차감
*=곱해서 저장x = x * y배수 증가
/=나눠서 저장x = x / y평균 분배

실습 2-5. 경기 득점 누적

# 경기 득점 누적 (초기값 0)
goals = 0

# 전반전: 1골 득점
goals += 1
print('전반 종료:', goals)

# 후반전: 2골 추가
goals += 2
print('경기 종료:', goals)

# 슈팅 수 2배 증가 (*=)
shots = 5
shots *= 2
print('슈팅 수 2배:', shots)
전반 종료: 1
경기 종료: 3
슈팅 수 2배: 10

실습 2-6. 할당 연산자 응용

# 할당 연산자 응용 문제
x = 3
y = 5
x *= x + y     # x = 3 * (3 + 5) = 24
print('x *= x + y →', x)
x *= x + y → 24

연습 문제

Q1. 10 % 3 의 결과는?

  • A) 0 B) 1 C) 2 D) 3

Q2. 7 // 3 의 결과는?

  • A) 2.333… B) 2 C) 3 D) 1

Q3. x=3; y=5; x *= x+y 실행 후 x의 값은?

  • A) 8 B) 15 C) 24 D) 30

Q4. a=10, b=20 일 때 a + b * 10 - 5 / 5 의 결과와 타입은?

  • A) int 209 B) float 209.0 C) int 210 D) float 210.0
# 연습 문제 정답
print("Q1 정답: B — 10÷3의 나머지 = 1")
print("Q2 정답: B — 7÷3의 몫 = 2 (소수점 버림)")
print("Q3 정답: C — x = 3 * (3+5) = 24")
print("Q4 정답: B — 10+200-1.0 = 209.0, 나눗셈 포함→float")
Q1 정답: B — 10÷3의 나머지 = 1
Q2 정답: B — 7÷3의 몫 = 2 (소수점 버림)
Q3 정답: C — x = 3 * (3+5) = 24
Q4 정답: B — 10+200-1.0 = 209.0, 나눗셈 포함→float