본문 바로가기
프로그램

[파이썬] 문제 : 숫자 분할. 줄어들거나 줄었다 늘어나는(비균등 분할)

by 오디세이99 2022. 11. 29.
728x90
반응형

(문제)

파이썬으로 숫자 분할하는 방법 질문입니다.
파이썬 등분포로 분할하는 방법말고 불균일하게 분할하는 방법이 있을까요?
 
예를들어 10이라는 길이의 선분이 있으면 1 1 1 1 1로 등분포가 아닌
 
2 1 0.7 0.4 ... 이런식으로 갈수록 줄어드는 분할이나 (역로그 그래프처럼)
 
0.3 0.5 1 1.5 2 1.5 1 0.5 0.3 이런식으로 줄었다가 늘었다가 줄었다가하는 (2차함수그래프처럼)
 
두가지 분할방법

등분포분할 예제는 많은데, 저렇게 비균일 분포분할은 정보가 없습니다.

 

(방법)

arr = [round(a*(b*0.01),1) for a, b in enumerate(range(10, 0, -1),1)]
print(arr)

[0.1, 0.2, 0.2, 0.3, 0.3, 0.3, 0.3, 0.2, 0.2, 0.1]

 

import math

arr = [round(math.log2(v),1) for v in range(10, 1, -1)]
print(arr)

[3.3, 3.2, 3.0, 2.8, 2.6, 2.3, 2.0, 1.6, 1.0]

728x90
반응형

댓글