我的整数范围是1..10。我想根据x ^ 2的分布选择一个。
我想要的是:
def random_from_exp(min, max, exponent):
...
我不熟悉数学或统计数据,我不知道如何在上述问题的上下文中解释此问题的先前答案(lambdas,inversions和whatnot)。请用一个例子提供一个简单的解释。
答案 0 :(得分:1)
如果我是对的,你想简单地生成一个指数函数(x ^ 2)上的数字,它在0到10之间?
这非常简单。从0到10的平方根得到一个随机数并将其平方。
import random
import math
print random.uniform(0, math.sqrt(10))**2
或者在你的情况下:
# I have no idea what the exp means. I'm assuming it means exponent.
def random_from_exp(min, max, exp):
return random.uniform(min, math.sqrt(max))**exp
这将打印(min< = RESULT< = max)^ exp