Unit 5. 숫자 계산하기
파이썬은 파이썬 셸을 통하여 입력한 코드의 결과를 즉시 출력할 수 있었죠? 이번에는 파이썬을 계산기처럼 사용해보겠습니다.
파이썬 IDLE를 실행하거나 콘솔(터미널, 명령 프롬프트)에서 파이썬을 실행합니다(Windows는 Win+R > cmd 입력 > python 입력, 리눅스와 macOS는 터미널에서 python3을 입력).
C:₩Users₩dojang>python Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 07:18:10) [MSC v.1900 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>>
>>>에 1 + 1을 입력한 뒤 엔터 키를 누르면 결괏값 2가 나옵니다.
>>> 1 + 1 2
덧셈뿐만 아니라 뺄셈, 곱셈도 가능합니다.
>>> 1 - 2 -1 >>> 2 * 2 4
그럼 5 나누기 2는 얼마일까요? 파이썬을 비롯한 여러 프로그래밍 언어에서 나누기를 ÷ 기호 대신 /를 사용합니다.
>>> 5 / 2 2.5
2.5가 나왔습니다. 당연한 결과일 수도 있지만 이 부분이 다른 언어와 파이썬 3의 차이점입니다. C, C++, C#, Java에서 5 / 2는 2.5가 아닌 2가 나오는데, 이 언어들은 정수끼리의 계산 결과는 정수가 나오도록 정했기 때문입니다. 하지만 파이썬 3는 정수끼리 나눗셈을 해도 실수가 나옵니다(파이썬 2.7은 정수끼리 나눗셈을 하면 정수가 나옵니다).
별 것 아닌 것처럼 느껴지지만 코드(알고리즘)를 작성할 때 정수냐 실수냐에 따라 결과가 완전히 달라질 수도 있습니다. 즉, 눈에 잘 띄지 않는 버그가 되므로 이 부분은 꼭 기억해두세요.
정수 나눗셈의 결과로 정수가 나오도록 만들려면 다음과 같이 계산식을 괄호로 묶은 뒤 앞에 int를 붙여줍니다.
>>> int(5 / 2) 2
int는 정수(integer)를 뜻하며 결과를 정수로 만들어 줍니다(소수점 이하는 버림). 나눗셈의 결과가 정수로 나오는 버림 나눗셈은 '10.1 산술 연산자 사용하기'에서 따로 설명하겠습니다.
정수는 10진수 이외에도 2진수, 8진수, 16진수로도 표현할 수 있습니다.
-
2진수: 숫자 앞에 0b를 붙이며 0과 1을 사용합니다.
-
8진수: 숫자 앞에 0o(숫자 0과 소문자 o)를 붙이며 0부터 7까지 사용합니다.
-
16진수: 숫자 앞에 0x 또는 0X를 붙이며 0부터 9, A부터 F까지 사용합니다(소문자 a부터 f도 가능).
>>> 0b110 6 >>> 0o10 8 >>> 0xF 15