p(10-19%)=0.06
p(20-29%)=0.1
p(30-39%)=0.12
p(40-49%)=0.15
p(50-59%)=0.18
p(60-69%)=0.14
p(70-79%)=0.12
p(80-89%)=0.08
p(90-99%)=0.04
p(100%)=0.01
各一定区间的百分比满足以上概率
根据概率随机输出10个百分比
然后将输出的百分比按照 (100%-输出的百分比)×60 这个公式计算,将10个值输出。
#根据概率随机输出10个百分比,然后将输出的百分比按照 (100%-输出的百分比)×60 这个公式计算,将10个值输出。
import random
weight = [0.06,0.1,0.12,0.15,0.18,0.14,0.12,0.08,0.04,0.01]
alist = [10, 20, 30, 40,50,60,70,80,90,100]
for i in range(10):
choiceNum = random.choices(alist, weights=weight)
print(str(choiceNum[0] + random.randint(0,9)) + '%', (100 -choiceNum[0] + random.randint(0,9))/100 * 60)
>>> import random as r
>>> percents = [r.randint(0,100) for i in range(10)]
>>> def p(n):
per = [0,0.06,0.1,0.12,0.15,0.18,0.14,0.12,0.08,0.04,0.01]
return per[n//10]
>>> print(*[(1-p(i))*60 for i in percents])
56.4 60 49.2 57.599999999999994 52.8 60 55.2 54.0 55.2 56.4