Chap.12 표준모듈[난수] - random
난수
random 모듈
random 모듈(1)
-
.random()
- 0 ~ 1 사이의 난수 리턴 (1은 미포함)
import random
for i in range(5):
print(random.random())
결과
0.31613467782098836
0.9210269418989194
0.37451066214301465
0.7120744921368977
0.16548941180523558
random 모듈(2)
-
.randint(begin, end)
- begin ~ end 사이의 정수 난수를 리턴 (end도 포함)
-
.randrange(begin, end)
- begin ~ end 사이의 정수 난수를 리턴 (end도 포함되지 않음 )
-
.uniform(begin, end)
- begin ~ end 사이의 실수 난수를 리턴 (end 미포함)
import random
for i in range(5):
print(random.randint(1, 10))
결과
7
5
1
4
10
import random
for i in range(5):
print(random.randrange(1, 10))
결과
6
4
2
9
3
import random
for i in range(5):
print(random.uniform(1, 10))
결과
5.545056961964819
1.2273746287541747
5.6900833492861285
5.568495544111174
7.88719856182608
random 모듈(3)
-
.choice(시퀀스)
- 시퀀스에서 랜덤하게 요소 선택하여 리턴
import random
food = ["짜장면", "짬뽕", "탕수육", "군만두"]
print(random.choice(food))
결과
군만두
같은 코드
i = random.randrange(len(food))
print(food[i])
결과
짜장면
random 모듈(4)
-
.shuffle(시퀀스)
- 시퀀스의 내용을 랜덤하게 섞음
리턴값이 없고 원본을 shuffle 한다.
import random
food = ["짜장면", "짬뽕", "탕수육", "군만두"]
print(food)
random.shuffle(food) # call by reference
print(food)
결과
['짜장면', '짬뽕', '탕수육', '군만두']
['군만두', '짬뽕', '탕수육', '짜장면']
random 모듈(5)
-
.sample(시퀀스, count)
- 시퀀스에서 랜덤하게 count개의 요소 리턴
import random
food = ["짜장면", "짬뽕", "탕수육", "군만두"]
print(random.sample(food, 2))
결과
['군만두', '짬뽕']
import random
nums = random.sample(range(1, 46), 6)
nums.sort()
print(nums)
결과
[4, 13, 15, 33, 37, 41]
확률을 조절하면서 뽑기 위해서는 간격을 조정. 정규분포 이용하면 좋다.
'인터페이스 개발 > Python' 카테고리의 다른 글
Python - 예외 처리[예외 처리] - 예외, 예외 처리, 예외의 종류, raise (0) | 2020.07.27 |
---|---|
Python - 표준모듈[sys 모듈] - 시스템 정보, 명령형 인수 (0) | 2020.07.27 |
Python - 표준모듈[시간] - time, 실행 시간 측정, 실행 멈춤, 달력, 날짜 (0) | 2020.07.27 |
Python - 표준모듈[수학] - import, math, statistics (0) | 2020.07.26 |
Python - 컬렉션 관리[예제] - 사전 활용[Value를 기준으로 정렬] (0) | 2020.07.26 |
댓글