말랑말랑제리스타일

파이썬 랜덤 숫자 뽑기로 중복 없이 숫자 뽑기 본문

프로그래밍/파이썬

파이썬 랜덤 숫자 뽑기로 중복 없이 숫자 뽑기

제리제리 2022. 2. 15. 11:53

파이썬에서 랜덤한 하나 또는 중복이 제외된 여러개의 정수를 뽑는 방법입니다.

파이썬으로 랜덤 숫자 뽑는 방법은 그렇게 어렵지 않습니다. 단 코드 두줄만으로도 파이썬에서 랜덤 숫자 뽑기가 가능하죠.

파이썬 랜덤 숫자 뽑기 코드

반응형

먼저 파이썬에서 랜덤 숫자 뽑기 코드 바로 보여드리고 내용 설명하겠습니다.

import random
print(random.randint(1,10))

이 파이썬 코드를 이용해 1에서 10까지의 정수 중 랜덤으로 하나의 숫자를 뽑을 수 있습니다.

가장 간단한 파이썬으로 랜덤숫자뽑기 코드이며 간단히 소스 설명을 드리면 random이라는 랜덤 숫자를 생성하는 모듈을 import 해주고 random 모듈 내에 randint라는 메서드를 호출해서 1~10까지의 정수 중 하나를 출력해주는 기능입니다.

여기서 만약 1~10이 아닌 10에서 20 사이의 숫자를 뽑기 위해서는 randint(10,20)으로 사용해줄 수 있죠.

 

중복 없이 랜덤한 여러개의 숫자 뽑기

하나가 아니라 1부터 10까지의 정수 중 3개를 중복되지 않게 뽑는 방법이 필요한 상황이 있을 수 있죠.

이 경우에는 아래 파이썬 소스코드와 같이 random 모듈 내에 있는 sample이라는 메서드를 사용할 수 있습니다.

반응형
import random
print(random.sample(range(1,10),3))

1부터 10까지의 숫자 중 3개의 숫자를 랜덤하게 중복없이 뽑아 출력하는 코드입니다.

만약 1부터 100이라면 범위 설정을 range(1,10) 대신 range(1,100)으로 바꿔줄 수 있고 뒤에 있는 3을 5로 바꾸면 임의로 5개의 정수를 추출할 수 있겠죠.

만약 여기서 범위에 있는 숫자보다 추출하는 숫자가 큰 경우 에러가 발생하니 주의하시길 바랍니다.

 

파이썬의 랜덤 모듈 기능은 이 외에도 상당히 다양한데 uniform 메서드를 사용해 랜덤한 실수를 생성할수 있고 choice 메서드를 사용해 특정 숫자에 가중치를 더준 랜덤뽑기도 가능하다는 것도 알아두시면 유용합니다.

반응형
Comments