Programming/Python

[Python 3.7] 파이썬 숫자 계산과 사칙연산

Nirsa 2020. 1. 10. 23:33
반응형

 

파이썬에서 숫자의 자료형에 따라 결과가 달라질 수 있기 때문에 정확히 구분 하여야 합니다.

아래 이미지와 같이 파이썬에서는 숫자를 정수, 실수, 복소수로 구분 됩니다.

프로그래밍에서 보통 정수와 실수를 주로 사용하고, 복소수는 공학 분야에 주로 쓰입니다.

 

1. 사칙연산

출력을 원할경우 print 에 그대로 계산할 식만 정해주면 됩니다.

>>> print(1+1)

>>> print(1-2)

>>> print(2*2)

>>> print(5/2)

 

2. // 연산자 (버림 나눗셈)

우선 print(5//2) 를 입력하게되면 원래는 2.5가 나오겠지만, 2만 출력이 됩니다.

//은 버림 나눗셈(floor division) 이라고 부르며 나눗셈의 결과에서 소수점 이하는 모두 버려서 정수의 형태로 만들어 줍니다.

 

그럼 실수에 // 연산자를 사용하면 어떻게 될까요?

print(5.5//2) 를 입력해보면 2.0 이 출력됩니다. // 연산자는 소수점 이하는 모두 버리기 때문에 실수를 계산하게 되면 결과는 항상 .0 으로 끝납니다.

 

3. % 연산자 (모듈로 연산자)

% 연산자는 나눗셈 후 나머지를 구해주는 연산자로, 모듈로(modulo) 연산자라고 부릅니다.

print(5%2)를 입력해보면 나머지인 1, print(4%2)를 입력하면 나머지인 0이 출력됩니다. (몫은 // 연산자로 구할 수 있습니다)

 

※ 몫과 나머지를 함께 구할땐 divmod를 사용하시면 되는데, divmod(10, 3) 을 입력해서 결과값을 확인해보세요.

그리고 괄호로 묶은 형태를 튜플(tuple)이라하며 값 여러개를 모아서 표현하게 되는데, divmod의 결과가 튜플로 나오므로 몫과 나머지는 변수 두개에 저장할 수 있습니다. (튜플은 후에 다시 설명하는 글을 작성 하겠습니다)

>>> a, b = divmod(10, 3)

>>> print('a:', a, 'b:', b)

4. ** 연산자

파이썬에서 ** 연산자는 거듭제곱을 구해주는 연산자 이고 print(2**10)을 입력해보면 2^10인 1024가 출력됩니다. 

 

※ 별표(*)는 영어로 애스터리스크(asterisk)라고 읽습니다. 이중 별포(**)는 더블 애스터리스크 또는 더블 스타라고 읽습니다.

 

5. 객체의 자료형 확인과 값을 정수로 만들기

객체의 자료형은 type(값) 으로 확인이 가능 합니다.

 

값을 정수로 만드는 방법은 int(숫자), int(계산식), int('문자열') 으로 입력하면 되며 문자열의 경우 정수로 된 문자열이어야 합니다.

 

6. 실수 계산과 실수로 만들기

사칙연산에서 - 했듯이, 실수 계산도 똑같이 진행하면 되지만 print(4.3-2.7) 을 입력하게되면 1.59999999996 이런식으로 출력됩니다.

파이썬은 실수를 부동소수점 방식으로 표현하는데 이 방식이 실수를 정확히 표현할 수 없는 문제가 있는데, 이제 막 입문하신 분들은 신경쓰지 마시고 이런것도 있구나 하고 넘어가시면 됩니다.

 

실수와 정수를 함께 계산하면 어떻게 될까요? print(4.2 + 5) 를 입력해보면 9.2가 출력됩니다.

같이 계산하게되면 표현 범위가 더 넓은 실수로 계산됩니다. (실수가 정수보다 표현 범위가 넓기에)

값을 실수로 바꾸는건 float(숫자), float(계산식), float('문자열') 을 입력하면 됩니다.

'5. 객체의 자료형 확인과 값을 정수로 만들기' 에서 정수인지 실수인지만 다르고 설명한 부분과 다를건 없습니다. 

반응형