연산자, 비교, 조건문
이 페이지에서는 값을 조합하는 기호와 단어를 다뤄요. 사칙연산과 그 계산 순서, true 또는 false로 답하는 비교, 그리고 논리 연산자와 비트 연산자예요. 어떤 줄의 결과가 예상과 다를 때, 또는 아직 예산 안에 있는지처럼 무언가를 메모가 대신 확인해 주었으면 할 때 참고하세요.
사칙연산
| 연산자 | 쓰는 법 | 예 | 결과 |
|---|---|---|---|
| 더하기 | +, plus |
£12.50 + £4.30 |
£16.80 |
| 빼기 | -, −, minus |
£20 - £4.50 |
£15.50 |
| 곱하기 | *, ×, times, multiplied by, 기호 없이 붙여 쓰기 |
3 × £4.50, 2(3 + 4) |
£13.50, 14 |
| 나누기 | /, ÷, divided by |
£60 / 4 |
£15.00 |
| 거듭제곱 | ^, **, to the power of, raised to, exponent |
2 ** 3, 2 raised to 10 |
8, 1,024 |
| 나머지 | mod, % (두 수 사이) |
50 mod 6, 50 % 6 |
2 |
| 제곱근 | √, sqrt(...), square root of |
√144 |
12 |
| 제곱 / 세제곱 | ², ³ |
3³ |
27 |
| 계승 | !, factorial(...) |
5!, factorial(5) |
120 |
사칙연산은 일반 숫자, 금액, 단위가 붙은 양 모두에 쓸 수 있고, 결과에도 통화나 단위가 그대로 유지돼요.
£12.50 + £4.30 결과 £16.803 * £4.50 결과 £13.50£1,000 * 1.05^3 결과 £1,157.636 times 7 결과 42100 minus 37.5 결과 62.5기호 없이 붙여 쓰기는 2(3 + 4)나 2π처럼 *를 생략하는 방식이에요. 이 방식이 언제 통하고 언제 통하지 않는지는 암시적 곱셈에서 설명해요.
연산 순서
계산은 학교 수학에서 배운 일반적인 순서를 따라요.
- 괄호
5!같은 계승- 거듭제곱. 오른쪽에서 왼쪽으로 계산해요.
2^3^2는2^9, 즉 512예요. - 맨 앞의 마이너스 부호. 거듭제곱 다음에 적용돼요.
-2^2는 -4이고,(-2)^2는 4예요. - 곱하기, 나누기,
mod. 왼쪽에서 오른쪽으로 계산해요. - 더하기와 빼기. 왼쪽에서 오른쪽으로 계산해요.
*를 생략해도 이 순서는 바뀌지 않아요. 그래서 2x^2는 교과서의 수식처럼 x를 먼저 제곱한 다음 2배로 만들어요.
즉 곱하기는 옆에 있는 더하기나 빼기보다 먼저 계산돼요. 계산서를 합산할 때 이 부분에서 실수하기 쉬워요.
£85 - £12.50 * 2 결과 £60.00(£85 - £12.50) * 2 결과 £145.00£120 / 4 / 2 결과 £15.00헷갈릴 때는 괄호를 넣으세요. 괄호는 결과에 해가 되지 않고, 나중에 메모를 다시 읽기도 쉬워져요.
제곱근 기호는 바로 뒤의 값에만 적용되므로 √9 + 16은 19예요. 합계의 제곱근을 구하려면 식 전체를 괄호로 묶으세요.
√(9 + 16) 결과 5나머지
mod는 나누고 남은 값을 구해요. 무언가를 묶음으로 나눌 때 유용해요.
달걀 = 50달걀 mod 6 결과 2floor(달걀 / 6) 결과 8달걀 50개로 6개들이 상자 8개를 채우고 2개가 남아요.
두 수 사이의 %도 나머지이며, 두 번째 수 앞에 공백이 없어도 마찬가지예요. 50 % 6과 50% 6 모두 2예요. 뒤에 아무것도 없는 %는 퍼센트(50%)가 되며, 퍼센트에서 다뤄요.
계승
숫자, 이름, 닫는 괄호 바로 뒤에 !를 붙이면 계승을 구할 수 있어요.
5! 결과 120주자 = 4주자! 결과 243! + 2 결과 85!=4 결과 true계승은 옆에 있는 거듭제곱보다 먼저 계산되므로 2^3!은 2⁶, 즉 64예요. 마지막 줄처럼 ! 뒤에 =가 오면 여전히 “같지 않음”이에요. factorial(5)도 5!과 같은 결과를 줘요.
비교
==, !=, <, <=, >, >=는 두 값을 비교해 true 또는 false로 답해요. 일반 숫자, 같은 통화의 금액, 같은 종류의 양에 쓸 수 있으며, 같은 종류라면 단위가 달라도 괜찮아요.
예산 = £400지출 = £365지출 <= 예산 결과 true지출 == 예산 결과 false지출 != 예산 결과 true5 km == 5,000 m 결과 true90 min >= 1.5 hours 결과 true2 kg < 2,500 g 결과 true비교하기 전에 단위를 변환하므로 1 mile > 1.5 km는 true예요. 킬로그램과 미터처럼 서로 다른 종류의 양을 비교하면 incompatible units 오류가 나요.
비교로 할 수 없는 것
- 연쇄 비교.
5 < x < 10은 지원하지 않아요. 대신5 < x && x < 10처럼 비교 두 개를 조합하세요. - 유니코드 기호.
≠,≤,≥는 인식하지 않아요.!=,<=,>=를 사용하세요. - 날짜. 두 날짜를
<나>로 비교할 수는 없어요. 두 날짜를 빼고, 그 차이를 기간과 비교하세요.
마감일 = 30 September 2026예약일 = 14 September 2026마감일 - 예약일 결과 2 weeks 2 days마감일 - 예약일 >= 7 days 결과 true논리 연산자
비교는 &&(둘 다 참이어야 함)나 ||(하나 이상 참이어야 함)로 연결해요. 두 비교 사이에서는 and와 or라는 단어도 똑같이 동작해요.
거리 = 5 km달린 시간 = 27 min거리 >= 5 km && 달린 시간 < 30 min 결과 true거리 >= 10 km || 달린 시간 < 25 min 결과 false거리 >= 10 km or 달린 시간 < 30 min 결과 truetrue와 false는 직접 써서 &&나 ||로 조합할 수도 있어요.
true || false 결과 truetrue && false 결과 false예상할 만하지만 지원하지 않는 형식도 있어요.
and와or는 비교 사이에서만 동작해요.true and false는 동작하지 않으니true && false로 쓰세요.- 부정 연산자는 없어요.
not true와!true는 동작하지 않아요. 대신(지출 > 예산) == false처럼false와 비교하세요. or는 오류가 났을 때의 대체값이 아니에요.1/0 or 5는 5가 되지 않아요.
조건문에서 비교 사용하기
비교는 if … then … else … 안에서 가장 쓸모가 있어요. 비교 결과에 따라 값을 골라 주거든요.
장바구니 = £34.50if 장바구니 >= £40 then £0 else £3.99 결과 £3.99else if, 뒤에 붙이는 if와 unless, 분기 안에서의 값 지정 등 전체 문법은 조건문에서 다뤄요.
비트 연산자
정수에는 비트 연산자 &(and), |(or), xor, <<(왼쪽 시프트), >>(오른쪽 시프트)를 쓸 수 있어요. 대문자 AND, OR, XOR도 동작해요. 주로 색상 값이나 파일 권한처럼 프로그래밍과 관련된 작업에 유용해요.
12 & 10 결과 812 | 10 결과 1412 xor 10 결과 612 AND 10 결과 81 << 10 결과 1,0241024 >> 3 결과 128결과는 일반 숫자로 표시돼요. 작업 중인 진법으로 보려면 to binary, in hex, to octal을 붙이세요.
0o644 | 0o111 to octal 결과 0o755색상 = 0xFF8800(색상 >> 8) & 0xFF 결과 136시프트는 &, |, xor보다 먼저 계산되지만, 색상 예시 같은 줄은 괄호를 넣으면 훨씬 알아보기 쉬워요.
종합해 보기
사칙연산, 비교, 논리 연산을 함께 사용해 한 달 예산을 확인하는 예예요.
# 9월 예산실수령액 = £2,400월세 = £1,050공과금 = £230식료품비 = 4 * £65 결과 £260.00남은 돈 = 실수령액 - 월세 - 공과금 - 식료품비 결과 £860.00월세 / 실수령액 as % 결과 43.75%남은 돈 > £500 결과 true남은 돈 > £500 && 월세 <= 실수령액 * 45% 결과 true식료품비는 무엇을 더하기 전에 먼저 곱하고, 남은 돈은 왼쪽에서 오른쪽으로 차례로 빼요. 마지막 두 줄은 메모를 점검표로 바꿔 줘요. 남은 돈이 £500보다 많고 월세가 실수령액의 45% 이내인 동안에는 결과가 true로 유지되고, 둘 중 하나라도 어긋나는 순간 false로 바뀌어요.