* | Asterisk, 별표, 별사탕
이제 더하기, 빼기, 곱하기, 나누기를 해 보겠습니다.
print(2 + 5) 을 코딩하면 7이 출력되겠지요?
맞습니다. 이 때 숫자를 계산하는 기호 '+'를 가리켜 '연산자'라고 합니다.
연산자 operator
'계산'과 '연산'은 비슷한 말이지만, '연산'은 수치계산이나 수학에서 주로 쓰는 말이고, '계산'은 더 광범위하게 쓰는 말입니다.
가장 기본적인 연산자는 아래와 같은 4 가지가 있습니다.
더하기 +
빼기 -
곱하기 *
나누기 /
일상 생활에서 곱셈을 할 때는 'x'라는 기호를 쓰지만, 코딩에서는 보통 별표(*)를 씁니다. 또, 나눗셈을 할 때는 '÷'가 아니라 '/' 기호를 씁니다. 이것은 약속입니다.
파이썬에서는 '2 곱하기 11'을 다음과 같이 코딩합니다.
print(2 * 11)
"10 나누기 3"은 다음과 같이 코딩합니다.
print(10 / 3)
다음 이미지를 한 번 보세요.
그럼 "2 + 10 - 4 * 11 / 3 + 6" 같은 긴 식도 한 번에 쓰면 되나요?
물론입니다. 아래 처럼 쓰면 되겠지요?
print(2 + 10 - 4 * 11 / 3 + 6)
그런데, 여기서 한 가지 기억해야 할 것이 있습니다. 사칙연산에는 순서가 있습니다. '곱셈'과 '나눗셈'이 '덧셈'과 '뺄셈'보다 먼저 계산된다는 것입니다.
'*' 나 '/' 연산이
'+'나 '-'보다
먼저 실행된다.
그래서 "2 + 10 - 4 * 11 / 3 + 6" 같은 식은 왼쪽부터 오른쪽으로 하나씩 순서대로 계산되는 게 아니라, 곱셈이나 나눗셈이 먼저 계산되고, 그 다음에 덧셈과 뺄셈이 계산됩니다.
print(2 + 10 - 4 * 11 / 3 + 6)
위의 코드를 실행해 보세요. 아래와 같은 답이 나올 것입니다.
3.333333333333334
그럼, "3 + 6"을 맨 먼저 계산하고 싶으면 어떻게 하면 되나요?
아주 좋은 질문입니다.
원하는 부분을 우선적으로 먼저 연산하고 싶다면, 그 부분을 괄호( )로 감싸면 됩니다. 아래처럼 말입니다.
print(2 + 10 - 4 * 11 / (3 + 6))
그럼 "3 + 6"을 먼저 연산하게 됩니다. 그래서 위의 코드는 아래 코드와 같은 내용입니다.
print(2 + 10 - 4 * 11 / 9)
출력된 답은 "7.111111111111111"입니다.
자, 아래 코드를 실행해 보세요.
print( 20 - 5 / 8 - 1 * 1.2 / 4 - 1 )
그리고 아래와 같이 바꾼 코드도 실행해 보세요.
print( (20 - 5) / (8 - 1) * 1.2 / 4 - 1 )
출력된 값이 서로 다르지요?
Quiz
아래와 같은 숫자 네 개를 어떻게 연산해야 '19'가 출력될까요?
0 4 4 5 1
힌트 : 덧셈, 뺄셈, 곱셉, 나눗셈 연산자를 한 번씩만 사용합니다.
답은 댓글에 있습니다. ^^
▨ 미래지기