연산자와 계산 표현
연산자랑 계산식, 코드에서 숫자들이 움직이는 걸 직접 보자
이전 글에서 변수로 데이터를 담는 법까지 했죠. 이제는 그 변수를 가지고 뭔가를 “계산”해볼 차례예요.
솔직히 말하면, 연산자 몰라서 막히는 구간이 생각보다 자주 오더라구요. 나도 예전에 “왜 출력이 이상하지?” 했더니 연산자 하나를 헷갈려서였던 적이… 아! 유머로 넘길게요. 😅
자, 이번 포스트에서는 아래를 딱 잡아볼게요.
- 덧셈/뺄셈/곱셈/나눗셈 같은 기본 산술 연산
- 나머지(%)로 “딱 떨어지는지” 확인하는 방법
- 비교 연산자로 참/거짓 만들기 (이건 다음 조건문에서 바로 써요)
- 논리 연산자로 조건을 합치기
1) 기본 산술 연산자: +, -, *, /
먼저 가장 익숙한 것부터요.
코드에서 계산은 보통 “수식 그대로” 써요. 다만 변수 값이 먼저 바뀌고 그 다음 계산된다고 생각하면 편해요.
예를 들어 이런 느낌:
a = 10
b = 3
print(a + b) # 13
print(a - b) # 7
print(a * b) # 30
print(a / b) # 3.333333...
아! 여기서 /는 나눗셈인데, 항상 실수(소수 포함) 결과가 나오는 편이라서요.
만약 “몫만” 필요하면 다음에 나오는 //도 좋아요(이건 이번 글에서 살짝만 맛보기!).
print(a // b) # 3
print(a % b) # 1 (나머지)
음… 처음 보면 %랑 //이 약간 헷갈리는데, 나도 “둘이 뭐가 다른 거였지?” 하고 한 번 삽질했어요.
근데 한 번 감 잡히면 계속 편합니다. (진짜로요)
2) 나머지 연산자 %: “짝수/홀수”는 여기서 나와요
%는 나눴을 때 남는 값을 줍니다.
x % 2 == 0이면 짝수x % 2 == 1이면 홀수 (파이썬에선 보통 이렇게 생각하면 편해요)
x = 7
print(x % 2) # 1
그냥 숫자 가지고 장난치는 것 같아도요, 사실 이게 다음 단계(조건문)에서 엄청 중요해져요.
“짝수면 ○○ 출력” 같은 거요.
3) 비교 연산자: 참/거짓을 만드는 문장들
이제부터 진짜 다음 글(조건문)으로 이어지는 핵심이에요.
비교 연산자는 결과가 True/False로 나와요.
==: 같음!=: 다름>: 큼<: 작음>=: 크거나 같음<=: 작거나 같음
age = 20
print(age == 20) # True
print(age != 20) # False
print(age > 18) # True
어? 그런데 왜 굳이 이런 걸 하냐고요?
사실은 이 True/False가 if(조건문)에서 딱 쓰여요.
이번 포스트에서 비교를 이해하면, 다음 글에서 if가 훨씬 “친구처럼” 느껴질 거예요.
4) 논리 연산자: 그리고/또는/부정까지
조건을 하나만 쓰면 간단한데, 현실은 보통 이렇죠.
- “20살 이상이고, 동시에 회원이어야 함”
- “성공이거나 실패해도 상관 없음” 같은 상황
이럴 때 쓰는 게 논리 연산자예요.
and: 그리고(둘 다 참이어야 True)or: 또는(하나만 참이어도 True)not: 부정(참을 거짓으로, 거짓을 참으로)
age = 20
is_member = True
print(age >= 18 and is_member) # True
print(age >= 18 or is_member) # True
print(not is_member) # False
솔직히 말하면, and/or/not은 처음엔 문장 읽는 느낌으로 보면 돼요.
그냥 “이 조건이 맞아?”를 말로 바꿔서 읽으면 실수가 확 줄어들더라구요.
5) 계산식 한 번 제대로 “출력”으로 확인해보기
자, 여기서 제가 보통 하는 방식 하나만 소개할게요.
값을 출력해서 확인하는 거예요. “내 머릿속 계산이랑 실제 코드가 같은지” 확인하는 거죠.
x = 5
y = 2
result = (x + y) * 3 # (5 + 2) * 3 = 21
print("result:", result)
아! 이런 식으로 “괄호”를 잘 쓰면 계산 순서도 덜 헷갈려요.
괄호가 없으면 우선순위 규칙대로 움직이긴 하는데… 초반엔 괄호가 친구입니다. 나름 추천!
6) 자주 하는 실수 2개 (나도 했던 거라 더 웃김)
=랑==헷갈리기
=: 값을 넣는다(대입)==: 비교한다(같은지 확인)
# 헷갈리지 말기!
x = 10
print(x == 10) # 비교
/결과가 왜 소수로 나오지?
/는 보통 실수 결과가 나와요.- 몫만 필요하면
//를 쓰면 됩니다.
솔직히 아직도 가끔 “아, 이건 몫이지!” 하고 늦게 깨달을 때 있어요.
근데 괜찮아요. 코딩은 원래 그런 거더라구요. (실수해도 계속 나아가면 됨!)
다음 글 예고: 조건문으로 흐름 제어하기 (if가 등장!)
여기까지 오면 “계산”은 됐죠.
그리고 방금 비교/논리 연산자로 True/False를 만들었잖아요.
이제 다음 글에서는 그 True/False를 이용해서,
- 조건이 맞으면 실행하고
- 조건이 아니면 다른 걸 실행하는
그 흐름을 만들어볼 거예요. 바로 조건문(if) 입니다.
다음 포스트에서 만나요! 😄





