4. 숫자(number) 관련 연산자 및 함수. random > 파이썬 기초

본문 바로가기
사이트 내 전체검색

회원로그인

올서베이넷
무료 온라인 설문 사이트
OVITII
웹 프레젠테이션 도구

파이썬 기초

4. 숫자(number) 관련 연산자 및 함수. random

페이지정보

글쓴이 관리자 조회 39,101 조회 날짜 19-05-02 22:14 / Update:22-12-10 04:08
댓글 0 댓글

SNS 공유

  • 트위터로 보내기
  • 페이스북으로 보내기
  • 구글플러스로 보내기

내용

숫자 관련 연산자 및 함수들

 

 

1. 숫자형으로 형 변환

 

숫자는 정수형(integer, int)과 실수형(float)이 있다.

 

정수형에서 실수형으로 실수형에서 정수형으로 형변환이 가능하다.

다만 실수에서 정수로 변환시 소수점이 모두 없어지므로 실수형에서 정수형으로 변환시 소수점 부분에 대한 것을 염두에 두어야 한다.

 

"123.45"는 따옴표에 둘러쌓여 있으므로 숫자로 보이지만 문자형 데이터이다. 이를 숫자형으로 형변환 할 수 있다.

다만 "123.45"는 소수점이 있으므로 int로 형 변환하면 오류가 발생한다. 따라서 float로 먼저 변환한 후, 다시 int로 변환 가능하다.

 

a = "123.45" # 문자
b = float(a) # a를 실수형으로 변환하여 b에 저장
c = int(b) # b를 정수형으로 변환하여 c에 저장

print(a)
print(b)
print(c)

d = int(a) # 문자가 실수형태이므로 int로 바로 형 변환하면 에러 발생

123.45
123.45
123

Traceback (most recent call last):
  File "C:JBMPAlecturenumber.py", line 10, in <module>
    d = int(a)
ValueError: invalid literal for int() with base 10: '123.45'

 

 

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
6
5.46

 

 

7. 난수를 생성해주는 함수 random

 

random 함수는 특정 범위 내에서 숫자를 무작위로 생성해주는 함수이다.

random 함수를 사용하기 위해서는 random 모듈을 import 하여야 한다.

 

 

import random

 

# 0 에서 1사이의 임의의 float를 생성
a = random.random()

 

# 1부터 5.5 사이의 임의의 float를 생성
b = random.uniform(1.0, 5.5)

 

# 1부터 100까지의 임의의 정수
c = random.randint(1, 100)

 

# 0부터 99까지의 임의의 정수
d = random.randrange(100)

 

# 1부터 99까지의 임의의 정수
e= random.randrange(1, 100)

 

# 1부터 99까지의 1을 기준으로 2씩 증가하는 임의의 값.  1, 3, 5, 7... 중에서 한 개. 즉, 홀수

# 첫째 숫자 1을 0으로 변경하면 0에서 99까지 0을 기준으로 2씩 증가하는 값. 즉, 짝수
f = random.randrange(1, 100, 2)

 

print(a)
print(b)
print(c)
print(d)
print(e)

print(f)

0.22679707699052187

1.237414949697385
55
22
53
37

위의 결과는 실행할 때마다 바뀐다.

 

 

8. 리스트를 섞어주는 메서드  random.shuffle()

 

import random

 

# shuffle은 리스트안의 순서를 섞어준다.

# random.shuffle(리스트) 메서드를 실행하면 리스트의 순서를 섞어서 저장한다.

# 반환값은 없으므로 다른 변수로 받을 수 없다.

fruits = ['apple', 'banana', 'lemon', 'cherry']

random.shuffle(fruits)
print(fruits) 

 

['cherry', 'lemon', 'apple', 'banana']

위의 결과는 실행할 때마다 바뀐다.

 

 

9. 리스트나 튜플에서 선택하거나 샘플을 뽑는 메서드  random.choice()  / random.sample()

 

import random

# 과일 리스트에서 한개 고르기

fruits = ['apple', 'banana', 'lemon', 'cherry']

s = random.choice(fruits)
print(s) 


# (1) 숫자리스트 샘플링, 5개 고르기
numlist = [1, 2, 3, 4, 5, 6, 7, 8, 9]
s = random.sample(numlist, 5)
print(s) 
 
# (2) 튜플 샘플링, 2개 고르기
people = ('세종대왕', '이순신', '홍길동', '왕건')
s = random.sample(people, 2)
print(s)

'lemon'

[6, 3, 7, 2, 8]
['왕건', '이순신']

위의 결과는 실행할 때마다 바뀐다.

 

 

31918504_1670670493.4709.png

댓글목록 sfs

총 30 건 , 1 페이지
게시물 검색
파이썬 기초 목록
번호 제목 글쓴이 조회 날짜
1 관리자 34613 05-02
2 관리자 41880 05-02
3 관리자 27596 05-02
4 관리자 42564 05-02
5 관리자 38192 05-02
6 관리자 32242 05-02
7 관리자 34061 05-02
8 관리자 32793 05-02
9 관리자 31663 05-02
10 관리자 34404 05-02
11 관리자 30145 05-02
12 관리자 52572 05-02
열람중 관리자 39102 05-02
14 관리자 35545 05-06
15 관리자 26600 05-06
16 관리자 25879 05-06
17 관리자 30244 05-06
18 관리자 26503 05-07
19 관리자 40771 05-07
20 관리자 46971 05-07
21 관리자 35773 05-07
22 관리자 36042 05-07
23 관리자 36546 05-28
24 관리자 46417 05-28
25 관리자 35530 05-28
26 관리자 38638 06-04
27 관리자 37883 06-11
28 관리자 37186 06-12
29 관리자 36043 12-21
30 관리자 27432 12-25
GNUBOARD_M
Copyright © JBMPA.com All rights reserved.