코딩도장_Unit 5. 숫자 계산하기

김민주·2021년 12월 31일
0

AIFFEL_풀잎스쿨

목록 보기
15/23
post-thumbnail

파이썬에서는 숫자의 자료형에 따라 결과가 달라질 수 있으므로 정확하게 구분할 필요가 있다.

파이썬에서는 숫자를 정수, 실수, 복소수로 구분한다.

5.1 정수 계산하기

5.1.1 정수_사칙연산

  • >>>에 계산식(1+1)을 입력한 뒤 엔터 키를 누르면 결괏값 (2)이 나온다.
  • 파이썬 3은 나눗셈이 완전히 나누어 떨어져도 실수가 나온다.
# 덧셈
>>> 1 + 1
2

# 뺄셈, 곱셈
>>> 1 - 2
-1
>>> 2 * 2
4

# 나눗셈
>>> 5 / 2  # ÷ 기호 대신 /를 사용
2.5
>>> 4 / 2  
2.0        # 완전히 나누어 떨어져도 실수 출력

5.1.2 정수_//연산자

  • //로 나눗셈을 하면 나눗셈 결과가 정수로 나온다.
  • //은 버림 나눗셈(floor division)이라고 부르며 나눗셈의 결과에서 소수점 이하는 버린다.
  • 실수에 // 연산자를 사용하면 결과는 실수가 나오며 소수점 이하는 버린다.
  • 코드(알고리즘)를 작성할 때 정수냐 실수냐에 따라 결과가 완전히 달라질 수도 있어 중요하다.
>>> 5 // 2
2
>>> 4 // 2
2

# 실수에 사용하면 실수가 나온다.
# 결과는 항상 .0
>>> 5.5 // 2
2.0
>>> 4 // 2.0
2.0
>>> 4.1 // 2.1
1.0

5.1.3 정수_% 연산자

  • %는 두 수를 나누었을 때 나머지만 구한다.
  • 모듈로(modulo) 연산자라고 부른다.
  • 몫은 버림 나눗셈(//)으로 구할 수 있다.
>>> 5 % 2
1

5.1.4 정수_ ** 연산자

  • **은 거듭제곱 연산자이며 숫자를 특정 횟수만큼 곱한다.
  • 2 ** 10은 1024이고 2^10을 뜻한다.
>>> 2 ** 10
1024

5.1.5 값을 정수로 만들기

  • int는 정수(integer)를 뜻하며 값을 정수로 만들어 준다 (소수점 이하는 버림)
  • int에 괄호를 붙이고 숫자 또는 계산식을 넣으면 된다.
  • int에 문자열을 넣어도 정수로 만들 수 있으나 정수로 된 문자열이라야 한다.
    • int(숫자)
    • int(계산식)
    • int('문자열')
>>> int(3.3)
3
>>> int(5 / 2)
2
>>> int('10')
10

5.1.6 객체의 자료형 알아내기

  • type은 객체의 타입(자료형)을 알아내는 함수
    • type(값)
>>> type(10)   # 파이썬에서는 숫자도 객체(object)이다
<class 'int'>  # 객체는 클래스(class)로 표현

* int는 정수의 자료형이다.

📎 참고) 몫과 나머지 함께 구하기
몫과 나머지를 함께 구하려면 divmod를 사용

>> divmod(5, 2)
(2, 1)  # 튜플

5를 2로 나누었을 때 몫은 2, 나머지는 1이며 결과는 (2, 1) 형태로 나온다.

>> quotient, remainder = divmod(5, 2)
>> print(quotient, remainder)
2 1

튜플은 변수 여러 개에 저장할 수 있는데 divmod의 결과가 튜플로 나오므로 몫과 나머지는 변수 두 개에 저장 가능

📎 참고) 진수, 8진수, 16진수
정수는 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

5.2 실수 계산하기

# 실수 덧셈
>>> 3.5 + 2.1
5.6

# 실수 뺄셈
>>> 4.3 - 2.7
1.5999999999999996 
>>> 1.5 * 3.1
4.65
>>> 5.5 / 3.1
1.7741935483870968

컴퓨터는 실수 표현 시 오차가 발생한다.

5.2.1 실수와 정수를 함께 계산하면?

  • 실수와 정수를 함께 계산하면 표현 범위가 넓은 실수로 계산
>>> 4.2 + 5
9.2

5.2.2 값을 실수로 만들기

  • float는 부동소수점(floating point)에서 따왔으며 값을 실수로 만들어 준다.
  • float에 괄호를 붙이고 숫자 또는 계산식을 넣으면 된다.
  • float에 문자열을 넣어도 실수로 만들 수 있으나 실수 또는 정수로 된 문자열이라야 한다.
  • 실수는 float 자료형
    • float(숫자)
    • float(계산식)
    • float('문자열')
>>> float(5)
5.0
>>> float(1 + 2)
3.0
>>> float('5.3')
5.3

# 자료형 확인
>>> type(3.5)
<class 'float'>

📎 참고) 복소수
파이썬에서는 실수부와 허수부로 이루어진 복소수(complex number)도 사용할 수 있다. 허수부는 숫자 뒤에 j를 붙인다.
두 실수를 복소수로 만들 때는 complex를 사용하면 된다.

>> 1.2+1.3j
(1.2+1.3j)
>> complex(1.2, 1.3)
(1.2+1.3j)

5.3 괄호 사용하기

  • 덧셈, 뺄셈, 곱셈, 나눗셈이 함께 있을 때는 곱셈과 나눗셈부터 계산
  • 덧셈과 뺄셈을 먼저 계산하고 싶다면 괄호로 묶어준다.
>>> 35 + 1 * 2
37

>>> (35 + 1) * 2
72

5.4 연습문제: 아파트에서 소음이 가장 심한 층수 출력하기

국립환경과학원에서는 아파트에서 소음이 가장 심한 층수를 구하는 계산식을 발표했습니다. 소음이 가장 심한 층은 0.2467 * 도로와의 거리(m) + 4.159입니다. 다음 소스 코드를 완성하여 소음이 가장 심한 층수가 출력되게 만드세요. 단, 층수를 출력할 때는 소수점 이하 자리는 버립니다(정수로 출력).

  • 도로와의 거리: 12m
print(                       )
# 실행결과
7
# 정답
int(0.2467 * 12 + 4.159)

소음이 가장 심한 층수를 구하는 계산식은 0.2467 * 도로와의 거리(m) + 4.159라고 했으므로 0.2467에 12를 곱한 뒤 4.159를 더해주면 된다.
계산 결과는 7.1194가 나오지만 층수로 표현해야 하므로 int에 계산식을 넣어서 결과를 정수로 만들어 준다.

profile
안녕하세요 :-) 잘 부탁드립니다!

0개의 댓글