4. 숫자(number) 관련 연산자 및 함수. random
페이지정보
내용
숫자 관련 연산자 및 함수들
1. 숫자형으로 형 변환
숫자는 정수형(integer, int)과 실수형(float)이 있다.
정수형에서 실수형으로 실수형에서 정수형으로 형변환이 가능하다.
다만 실수에서 정수로 변환시 소수점이 모두 없어지므로 실수형에서 정수형으로 변환시 소수점 부분에 대한 것을 염두에 두어야 한다.
"123.45"는 따옴표에 둘러쌓여 있으므로 숫자로 보이지만 문자형 데이터이다. 이를 숫자형으로 형변환 할 수 있다.
다만 "123.45"는 소수점이 있으므로 int로 형 변환하면 오류가 발생한다. 따라서 float로 먼저 변환한 후, 다시 int로 변환 가능하다.
a = "123.45" # 문자 print(a) d = int(a) # 문자가 실수형태이므로 int로 바로 형 변환하면 에러 발생 |
123.45 Traceback (most recent call last): |
2. 연산자
1) 사칙 연산자
더하기(+), 빼기(-), 나누기(/), 곱하기(*) 이다.
2) 제곱 연산자
별(*, Asterisk)를 두번 사용한다.
a = 2 ** 3 print(a) |
8 |
3) 몫과 나머지 반환 연산자
어떤 수를 나누었을 때, 몫과 나머지가 생긴다.
예를 들어 5를 2로 나누면 결과는 2.5이고, 여기에서 몫은 2, 나머지는 1이다.
계산 결과에서 몫을 반환하는 연산자는 // 이다
a = 5 // 2 print(a) |
2 |
계산 결과에서 나머지를 반환하는 연산자는 % 이다. 딱 나누어 떨어지면 나머지는 0이 된다.
a = 5 % 2 print(a) |
1 |
3. 몫과 나머지 반환 함수 divmod
몫을 반환하는 연산자는 // 이고, 나머지를 반환하는 연산자는 % 이다.
divmod 함수를 사용하면, 몫과 나머지를 한꺼번에 튜플로 반환해준다.
사용법은 divmod(dividend, divisor) 이다.
5를 2로 나누면 몫이 2, 나머지는 1이다. 다음과 같이 사용한다.
print(divmod(5,2)) A, B = divmod(5, 2) print(A, B) |
(2, 1) 2 1 |
4. 절대 값을 반환하는 함수 abs
절대값이란 양수건 음수건 절대적인 양적 수치를 말한다.
a = abs(5) b = abs(-5) print(a) print(b) |
5 5 |
5. 제곱 값을 반환하는 함수 pow
a = pow(2, 3) print(a) |
8 |
※ pow(2,3)은 2 ** 3과 같다.
6. 반올림 해주는 함수 round
형식 round(a, b)
a : 반올림 할 수
b : 반올림 자리수, 없으면 소수점 첫째 자리가 기준이 된다.
a = round(5.4) b = round(5.5) c = round(5.4567, 2) print(a) print(b) print(c) |
5 |
7. 난수를 생성해주는 함수 random
random 함수는 특정 범위 내에서 숫자를 무작위로 생성해주는 함수이다.
random 함수를 사용하기 위해서는 random 모듈을 import 하여야 한다.
import random
# 0 에서 1사이의 임의의 float를 생성
# 1부터 5.5 사이의 임의의 float를 생성
# 1부터 100까지의 임의의 정수
# 0부터 99까지의 임의의 정수
# 1부터 99까지의 임의의 정수
# 1부터 99까지의 1을 기준으로 2씩 증가하는 임의의 값. 1, 3, 5, 7... 중에서 한 개. 즉, 홀수 # 첫째 숫자 1을 0으로 변경하면 0에서 99까지 0을 기준으로 2씩 증가하는 값. 즉, 짝수
print(a) print(f) |
0.22679707699052187 1.237414949697385 |
위의 결과는 실행할 때마다 바뀐다.
8. 리스트를 섞어주는 메서드 random.shuffle()
import random
# shuffle은 리스트안의 순서를 섞어준다. # random.shuffle(리스트) 메서드를 실행하면 리스트의 순서를 섞어서 저장한다. # 반환값은 없으므로 다른 변수로 받을 수 없다. fruits = ['apple', 'banana', 'lemon', 'cherry'] random.shuffle(fruits)
|
['cherry', 'lemon', 'apple', 'banana'] |
위의 결과는 실행할 때마다 바뀐다.
9. 리스트나 튜플에서 선택하거나 샘플을 뽑는 메서드 random.choice() / random.sample()
import random # 과일 리스트에서 한개 고르기 fruits = ['apple', 'banana', 'lemon', 'cherry'] s = random.choice(fruits)
|
'lemon' [6, 3, 7, 2, 8] |
위의 결과는 실행할 때마다 바뀐다.