더북(TheBook)

조금 더 어려운 연산을 해 봅시다. 실행결과를 보고 어떤 연산인지 감이 오나요?

print(2 ** 3)
print(10 % 3)
print(10 // 3)

실행결과 icon_con

8
1
3

첫 번째 연산자 **는 연산자 앞의 수를 뒤의 수만큼 거듭제곱하라는 뜻입니다. 2 ** 3이므로 2를 세제곱한 8이 나옵니다. 두 번째 연산자 %는 연산자 앞의 수를 뒤의 수로 나눈 나머지를 구하라는 뜻입니다. 따라서 10을 3으로 나눈 나머지인 1을 출력합니다. 마지막 연산자 //는 연산자 앞의 수를 뒤의 수로 나눈 몫을 구하라는 뜻입니다. 따라서 10을 3으로 나눈 몫인 3을 출력합니다.

이전 코드에서 정수와 정수의 나누기 결과로 정숫값을 얻으려면 6 / 3 대신 6 // 3을 한다고 했었죠. // 연산자는 몫을 구하므로 6을 3으로 나눈 몫인 2가 결과로 나오게 됩니다. 즉, 우리가 원하는 정수 형태의 결과를 얻을 수 있습니다.

이번에 배운 3가지 연산자도 수를 계산하는 데 사용하는 산술 연산자입니다.

표 3-2 산술 연산자 2

연산자

의미

**

연산자 왼쪽을 오른쪽만큼 거듭제곱

%

연산자 왼쪽을 오른쪽으로 나눈 나머지

//

연산자 왼쪽을 오른쪽으로 나눈 몫

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.