1. 난수 : 수를 나열하는 데에 규칙성이 없고 각각의 수가 등장하는 횟수가 거의 같은 모습의 수
>>> import random #random모듈을 불러오기
>>> rand = [] #난수를 넣을 리스트 생성
>>> for i in range(10): #난수 10개를 만들 것
... rand.append(random.randint(0,100)) #0~100의범위에서 난수를 생성
...
>>> rand #난수는?
[35, 0, 9, 24, 3, 51, 43, 10, 36, 44]
2. 난수를 사용할 때 주의할 점
- Rn+1 = (a x Rn + b)mod c
- Rn : 난수, Rn+1 : Rn보다 한 수 뒤에 난수
- a, b, c : 양수 / c>a, c>b를 만족하는 정수
- mod : 나눗셈의 나머지를 구하는 연산자
- c로 나눈 나머지를 이용해 난수를 만들기 때문에 이 식으로 생성되는 난수는 0 ~ c-1의 범위에 있게 됨
- 시험삼아 a=4, b=7, c=9로 지정하고 난수의 초깃값을 1로 설정하여 계산했을 때
>>> a = 4
>>> b = 7
>>> c = 9
>>> rn = 1 #난수의 초깃값 1로 설정
>>> rand = [] #난수 넣을 리스트 생성
>>> for i in range(20): #20개 선택
... rn = ((a * rn + b) % c) #난수를 생성한다
... rand.append(rn)
...
>>> rand
[2, 6, 4, 5, 0, 7, 8, 3, 1, 2, 6, 4, 5, 0, 7, 8, 3, 1, 2, 6]
- 계산식이 생성하는 난수는 어떠한 규칙이 존재함
'파이썬으로 다시 배우는 핵심고등수학 (python) > 07장 : 통계와 난수' 카테고리의 다른 글
| 7-4. 데이터를 보고 추측하기 (0) | 2021.02.19 |
|---|---|
| 7-3. 관계 조사하기 (0) | 2021.02.19 |
| 7-2. 데이터가 흩어진 정도 조사하기 (0) | 2021.02.19 |
| 7-1. 통계란? (0) | 2021.02.18 |