본문 바로가기
개발기록/python

[python] 난수 생성하기 random의 모든 것

by spectrum20 2024. 9. 22.

random 모듈을 이용하여 난수 생성하기

 

- module import

import random

 

- random.random( )

# 0이상 1미만의 실수

random.random()

→ 0.28483

 

- random.randrange( start , stop [ , step] )    *정수만 생성

# 1이상 7미만의 정수

random.randrange(1, 7)

 

# 1이상 10미만 2간견

random.randrange(1, 10, 2)

→ [1, 3, 5, 7, 9] 중 하나

 

- random.randint( Start, End )

# start 이상 end 이하의 정수 생성

random.randint( 1, 3 )

→ 1~3 중 하나

 

- random.uniform( a, b )   *실수 생성

# 1이상 2이하 실수 생성

random.uniform(1, 2)

→ 1.34564

 

- random.choice( 시퀀스 자료형 )

# 시퀀스 자료형 중 하나를 랜덤으로 추출하여 반환

# 리스트
random.choice( ['a', 'b', 'c', 'd'] )
# 튜플
random.choice( ('a', 'b', 'c', 'd') )
# 문자열
random.choice( 'abcd' )

→ a~d 중 하나

 

- random.choices( 시퀀스 자료형, k=뽑을 개수 )

# k에 입력된 인자의 개수만큼 리스트 출력 (중복 허용)

random.choices( [1,2,3,4,5], k=3 )

→ [1,3,4] 

→ [3,5,5]

 

- random.sample( 시퀀스 자료형, 뽑을 개수 )

# 시퀀스 자료형에서 뽑을 개수만큼 랜덤으로 추출하여 리스트로 반환 (중복X)

random.sample( [1, 2, 3, 4, 5], 3 )

random.sample( (1, 2, 3, 4, 5), 3 )

random.sample( '12345' , 3 )

→ [1,2,5]

 

- random.shuffle( 리스트 )

# 배열을 무작위로 섞음

random.shuffle(  [ 1, 2, 3, 4, 5, 6, 7 ]  )

→ [ 2, 5, 7, 3, 4, 6, 1 ]

 

 


- random.triangular(Low, High, Mode)

# 삼각 분포

random.triangular( 최댓값, 최솟값, 최빈값 )

 

- random.betavariate(Alpha, Beta)

# 베타 분포

random.betavariate( a, b )

 

- random.gammavariate(Alpha, Beta)

# 감마 분포

random.gammavariate( a, b )

 

- random.gauss(mu=0.0, simga=1.0)

# 정규 분포

random.gauss( 평균, 표준편차 )

 

 

 

 

 

반응형

댓글