True or false output based on a probability

戏子无情 提交于 2019-12-03 14:31:42

问题


Is there a standard function for Python which outputs True or False probabilistically based on the input of a random number from 0 to 1?

example of what I mean:

def decision(probability):
    ...code goes here...
    return ...True or False...

the above example if given an input of, say, 0.7 will return True with a 70% probability and false with a 30% probability


回答1:


import random

def decision(probability):
    return random.random() < probability



回答2:


Given a function rand that returns a number between 0 and 1, you can define decision like this:

bool decision(float probability)
{
   return rand()<probability;
}

Assuming that rand() returns a value in the range [0.0, 1.0) (so can output a 0.0, will never output a 1.0).




回答3:


If you want to amass a lot of data, I would suggest using a map:

    from numpy import random as rn
    p = 0.15
    data = rn.random(100)
    final_data = list(map(lambda x: x < p, data))


来源:https://stackoverflow.com/questions/5886987/true-or-false-output-based-on-a-probability

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!