본문 바로가기

개발/Python

[Python] 가중치를 사용하여 랜덤 숫자 가져오기

반응형

파이썬에서는 가중치를 사용하여 특정 요소에 더 높은 확률로 랜덤 숫자를 가져올 수 있습니다. 이를 통해 확률 분포에 따라 랜덤 값을 조절할 수 있습니다.

1. random 모듈 import

먼저, random 모듈을 import해야 합니다.

import random

2. 가중치 설정

각 숫자에 대한 가중치를 설정합니다. 예를 들어, 숫자 1은 30%의 확률로 선택되어야 한다면 가중치를 설정할 때 해당 숫자에 더 큰 가중치를 부여해야 합니다.

weights = [0.3, 0.2, 0.1, 0.4]

위의 예시에서는 숫자 1에 0.3의 가중치를, 숫자 2에 0.2의 가중치를, 숫자 3에 0.1의 가중치를, 숫자 4에 0.4의 가중치를 부여한 것입니다.

3. 가중치를 사용하여 랜덤 숫자 가져오기

가중치를 사용하여 랜덤 숫자를 가져오기 위해서는 `random.choices()` 함수를 활용합니다.

# 가중치를 사용하여 랜덤 숫자 가져오기
random_number = random.choices([1, 2, 3, 4], weights)[0]

위의 코드를 실행하면, `random.choices()` 함수를 사용하여 가중치에 따라 숫자를 랜덤하게 선택하고, 선택된 숫자를 `random_number` 변수에 저장합니다.

전체 코드

import random

# 가중치 설정
weights = [0.3, 0.2, 0.1, 0.4]

# 가중치를 사용하여 랜덤 숫자 가져오기
random_number = random.choices([1, 2, 3, 4], weights)[0]

테스트 예제

from collections import Counter
import random


weights = [0.3, 0.2, 0.1, 0.4]

temp_list = [random.choices([1, 2, 3, 4], weights)[0] for i in range(50)]

print(Counter(temp_list))

결과

Counter({4: 21, 1: 14, 2: 11, 3: 4})

위와 같이 파이썬에서 가중치를 사용하여 랜덤 숫자를 가져올 수 있습니다. 가중치를 설정하고 `random.choices()` 함수를 사용하여 랜덤하게 숫자를 선택하면, 가중치에 따라 선택되는 확률이 조절됩니다.

반응형

자바스크립트를 허용해주세요.
[ 자바스크립트 활성화 방법 ]
from Mohon Aktifkan Javascript!