본문 바로가기
Python

파이썬 - random 함수

by IT두잇 2022. 3. 16.

random 함수는 설정한 조건 내에서 랜덤한 값을 발생시켜줍니다.

이 함수를 실행하기 전, import random을 통해 함수를 import 하는 과정이 필요합니다.

이는 실행 전 한번만 입력하면 됩니다. 🙂

 

random.random( )

0부터 1사이의 실수 중 난수 값을 돌려주는 함수

random.random()

결과값: 0.238489754

 

random.randint( )

두개의 숫자를 넘겨받아 두 숫자 사이의 난수 값 1개를 돌려주는 함수

random.randint(1,3)

결과값: 3

 

random.choice( )

리스트 내의 숫자 중 하나를 랜덤으로 반환하는 함수

random.choice([1,2,3,4])

결과값: 2

 

random.choices( )

리스트 내의 숫자 중 원하는 개수만큼 난수를 반환하는 함수

결과값은 리스트 형식으로 출력됨 (난수 중복 가능)

random.choices([1,2,8,66,7], k=3) #3개 랜덤추출

결과값: [7, 2, 8]

 

random.sample( )

random.choices와 동일하게 리스트 내의 숫자 중 원하는 개수만큼 난수를 반환하지만 난수는 중복되지 않습니다.

random.sample([1,2,3,4], k=3) #3개 랜덤추출

결과값: [2, 4, 1]

 

 

random.seed( )

동일한 순서로 난수를 발생시켜야 할 경우에 사용하는 함수

동일한 시드(seed)를 입력하면 같은 난수가 반환됩니다.

random.seed(555)

결과값: 0.19334525074470776

 


< 연습문제 1 >

1부터 100까지 난수를 5개 출력해보자.

import random
random.choices(range(1, 101), k=5))

결과값: [ 56, 37, 32, 76, 10]

 

< 연습문제 2 >

아래의 리스트에서 랜덤한 문자열을 삭제해보자.

a = [ ‘a’, ‘b’, ‘c’]

a = ['a', 'b', 'c']

import random
a.remove(random.choice(a))

결과값: [ ’b’, ‘c’ ]

 

< 연습문제 3 >

1부터 10까지의 수 중 중복없는 난수 3개를 출력해보자.

import random
random.select(range(1, 11), k=3 ))

결과값: [ 4, 2, 8 ]

 

< 연습문제 4 >

1부터 10까지의 난수를 반환하고, 난수가 5 이하일 경우 출력, 그렇지 않으면 ‘end’를 출력하는 while 문을 작성해보자.

import random
while True:
    n = random.randint(1, 10)
    if n <= 5:
        print(n)
    else:
        print('end')
        break

결과값:

1

2

3

end