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) // : 나눗셈 후 소수점 이하를 버리는 연산자 -> 정수끼리 나눗셈을 했을 때 결과 값으로 정수를 얻고 싶은 경우에 사용한다.
실수에 // 연산자를 사용하면 결과는 실수가 나오며 소수점 이하를 버리므로 결과 값은 항상 n.0 이 나온다.a = 4 b = 2 print(a//b) # 2
a = 4.0 b = 2 print(a/b) # 2.0
- 거듭제곱을 구하는 ** 연산자
a = 2 b = 5 print(a**b) # 32
- divmod() : 몫과 나머지를 함께 구하기
-> divmod()의 결과는 튜플(Tuple)로 나온다.(나중에 코드블럭 삽입)a = 5 b = 2 print(divmod(5, 2)) # (2, 1) -> (몫, 나머지)
값을 정수로 만들기
- 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
'Python 코딩도장' 카테고리의 다른 글
파이썬 코딩도장 Unit 08 정리 : Bool과 비교/논리 연산자 (0) | 2022.01.11 |
---|---|
파이썬 코딩도장 Unit 07 정리 : 다양한 출력 방법 (0) | 2022.01.10 |
파이썬 코딩도장 Unit 03~Unit 12 심사문제 풀이 (0) | 2022.01.08 |
파이썬 코딩도장 Unit 06 정리 : 변수와 입력 (0) | 2022.01.06 |
파이썬 코딩도장 Unit 03 ~ Unit 04 정리 : 기본 문법 (0) | 2022.01.05 |