Development/Python3..x

[python3.x-study] Random함수

louky 2020. 12. 11. 17:34
반응형

python 에서는 random함수를 사용할 수 있는데 이는 random라이브러리를 사용하는 것이다 

 

해당 라이브러리를 불러와 사용해야 한다. (import)

 

 

>>> from random import *     ###random함수를 사용하기 위한 라이브러리 import 


>>>
>>> print (random())
0.2600440077172613
>>> print (random())
0.3625000890567398
>>> print (random())
0.6804766530051424
>>> print (random())
0.6300358008852028
>>> print (random())
0.1413950239507683

여기서 random 함수는 기본적으로 0.0 ~ 1.0사이의 값을 랜덤하게 생성한다.  

 

만약  0.0 에서 부터 10.0까지 랜덤하게 생성하고 할 경우 아래와 같이 한다. 

>>> print (random() * 10 )  ### 0.0 부터 10 이하의 임의의 값 생성 
1.4224704961608048
>>> print (random() * 10 )
4.463755036624249
>>> print (random() * 10 )
9.737548701465
>>> print (random() * 10 )
3.623275813533394
>>> print (random() * 10 )
3.073671065142455

 

소수점을 제외한 정수로만 출력하고자 한다면 아래와 같이 한다. 

>>> print (int(random() * 10) )  ### int라는 함수로 감싸주어  소수점은 제외하고 생성한다. 
2
>>> print (int(random() * 10) )
9
>>> print (int(random() * 10) )
8
>>> print (int(random() * 10) )
1
>>> print (int(random() * 10) )
0
>>> print (int(random() * 10) )
1
>>> print (int(random() * 10) )
1
>>> print (int(random() * 10) )
6

특정 값 사이에 랜덤값을 출력하고자 한다면 아래와 같이 한다. 

>>> print (int(random() * 10) +1 )  ###  +1을 함으로써 1부터 10 이하의 임의의 값 생성
5
>>> print (int(random() * 10) +1 )
3
>>> print (int(random() * 10) +1 )
5
>>> print (int(random() * 10) +1 )
2
>>> print (int(random() * 10) +1 )
7
>>> print (int(random() * 10) +1 )
10
>>> print (int(random() * 10) +1 )
4
>>> print (int(random() * 10) +1 )

위와 동일한 방법으로 사용할 수 있는 함수가 별도 있다. 

 

randrange 와 randint가 있다. 

예를 들어 randrange(1,10)이라고 한다면 1부터 10 미만( 10은 포함되지 않는다.)으로 임의 값을 생성한다. 

 

이를 응용해서 로또 번호를 출력하고자 한다면  randrange(1,46)으로 해야 한다. 

 

즉, randrange(START_NUM, ENDNUM-1) 이라고 생각하면 된다. 

 

>>> print (randrange(1,4))
3
>>> print (randrange(1,4))
1
>>> print (randrange(1,4))
3
>>> print (randrange(1,4))
2
>>> print (randrange(1,4))
3
>>> print (randrange(1,4))
1
>>> print (randrange(1,4))
2

이 것이 불편할때는  randint를 사용하면 된다. 

randint는 randrange와 다르게 randint(STARTNUM,ENDNUM)이다. 

>>> print (randint(1,4))
1
>>> print (randint(1,4))
3
>>> print (randint(1,4))
2
>>> print (randint(1,4))
3
>>> print (randint(1,4))
3
>>> print (randint(1,4))
3
>>> print (randint(1,4))    #### 1부터 4 이하의 임의 값을 생성 
4
>>> print (randint(1,4))
3

 

반응형