본문 바로가기
Python 코딩도장

파이썬 코딩도장 Unit 05 정리 : 숫자 계산

by chanfficial 2022. 1. 6.

Unit 05 : 연산자

  • 기본 연산자 -> 더하기 : +, 빼기 : -, 곱하기 : *, 나누기 : /
    a = 5
    b = 2
    print(a/b) # 2.5​
    
    a = 4
    b = 2
    print(a/b) # 2.0​

    -> 파이썬2 에서는 정수끼리 나눗셈을 한 결과는 정수가 나오도록 정했기 때문에  5/2=2 의 결과가 나오지만, 파이            썬3 에서는 정수끼리 나눗셈을 해도 결과 값이 실수가 나온다.

  • 버림 나눗셈(floor division) // : 나눗셈 후 소수점 이하를 버리는 연산자 -> 정수끼리 나눗셈을 했을 때 결과 값으로 정수를 얻고 싶은 경우에 사용한다.
    a = 4
    b = 2
    print(a//b) # 2​​
     실수에 // 연산자를 사용하면 결과는 실수가 나오며 소수점 이하를 버리므로 결과 값은 항상 n.0 이 나온다.
    a = 4.0
    b = 2
    print(a/b) # 2.0​​
  • 거듭제곱을 구하는 ** 연산자
    a = 2
    b = 5
    print(a**b) # 32​
  • divmod() : 몫과 나머지를 함께 구하기
    a = 5
    b = 2
    print(divmod(5, 2)) # (2, 1) -> (몫, 나머지)​
     -> divmod()의 결과는 튜플(Tuple)로 나온다.(나중에 코드블럭 삽입)

값을 정수로 만들기

  • int()의 괄호 안에 숫자나 계산식을 넣으면, 계산 결과가 실수로 나왔을 때 그 값을 정수로 바꿀 수 있다.(실수의 경우는 float()를 사용)
    a = 3.3
    print(int(a)) # 3
    
    b = 5
    c = 2
    print(int(b/c)) # 2​
  • 정수로 된 문자열이라면, int()의 괄호 안에 넣어도 정수 값을 얻을 수 있다.
    print(int('10') # 10
    # 문자열 '10'이 정수 10으로 바뀜​

type() : 객체의 자료형 알아내기

  •  type()의 괄호 안에 자료형이 궁금한 객체를 넣어보면 <class '자료형'>으로 출력되는데 이는 <자료형> 클래스라는 뜻이다. 파이썬 에서는 숫자도 객체(object)이며, 객체는 클래스(class)로 표현한다. -> 앞에서 사용한 int(3.3)은 실수 3.3을 int 클래스로 된 객체로 만든다는 뜻이다.
    print(type(5,2)) # (2, 1)​

정수를 다른 방식으로 표현하기 : 2진수, 8진수, 16진수

  • 정수는 10진수 이외에도 2진수, 8진수, 16진수로 표현할 수 있다.
  • 2진수 : 숫자 앞에 0(숫자)b를 붙이며 0과 1을 사용한다. 
  • 8진수 : 숫자 앞에 0o(숫자 0과 소문자 o)를 붙이며 0부터 7까지 사용한다.
  • 16진수 : 숫자 앞에 0x 또는 0X를 붙이며 0~9, A~F(a~f)까지 사용한다.
    print(0b110) # 6, 2진수
    
    print(0o10) # 8, 8진수
    
    print(0xF) # 15, 16진수​

※ 스크립트 파일과 파이썬 셸에서 계산 결과를 출력할 때 차이점

ex) 1+1의 계산 결과를 출력하시오

  소스코드
스크립트 파일 print(1+1)
파이썬 셸 1+1

 

 

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

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

  • 도로와의 거리 : 12m

정답 : 7층

print(int(0.2467 * 12 + 4.159)) # 7

 

 

정리 참조 : https://dojang.io/course/view.php?id=7