본문 바로가기
tEch & infO

파이썬으로 무작위 수 생성하기 #파이썬 무작위 N자리 숫자 생성하기 #파이썬 중복되지 않는 무작위 숫자 가져오기 #파이썬 중복 허용되는 무작위 숫자 가져오기 #itertools #combinations #permutations

by every7hing 2020. 10. 29.
반응형

 

파이썬으로 무작위 수 생성하기 

#파이썬 무작위 N자리 숫자 생성하기 

#파이썬 중복되지 않는 무작위 숫자 가져오기 

#파이썬 중복 허용되는 무작위 숫자 가져오기

 

파이썬으로 무작위 수를 뽑아내는 방법은 여러가지이다.

오늘은 itertools 모듈을 이용한 방법을 알아보도록 해요.

 

먼저 중복되지 않는 3자리 숫자를 생성해볼게요.

'12345' 중에서 3가지 숫자를 뽑는 예제입니다.

import random
import itertools
 
numbers = list(itertools.combinations('12345', 3))
number = random.choice(numbers)

print(''.join(number))

 

 

단, 이 방법은 중복된 숫자가 뽑히지 않습니다.

 

이번에는 중복을 허용하는 3가지 숫자를 뽑아볼게요.

import random
import itertools
 
numbers = list(itertools.permutations('12345', 3))
number = random.choice(numbers)

print(''.join(number))

이 방법은 numbers 리스트 값에 중복되는 숫자들이 들어있는 배열이 존재하게 됩니다.

 

예를들면, (1,2,3)과 (3,2,1) 순서만 다를 뿐 숫자들이 동일합니다.

따라서, combinations을 사용할 때는 위와 같은 경우는 제외시켜 중복으로 처리되지 않게 하는 것이고,

permutations을 사용할 때는 위와 같은 경우를 모두 결과 값에 포함시켜 줍니다.

 

따라서, 잘 고려하셔서 상황에 맞게 사용하면 좋을 것 같습니다.

 

반응형

댓글