Истинный или ложный вывод, основанный на вероятности - PullRequest
27 голосов
/ 04 мая 2011

Существует ли стандартная функция для Python, которая выводит True или False вероятностно на основе ввода случайного числа от 0 до 1?

пример того, что я имею в виду:

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

Приведенный выше пример, если задан, скажем, 0,7, вернет True с вероятностью 70% и false с вероятностью 30%

Ответы [ 2 ]

64 голосов
/ 04 мая 2011
import random

def decision(probability):
    return random.random() < probability
4 голосов
/ 04 мая 2011

Учитывая функцию rand, которая возвращает число от 0 до 1, вы можете определить decision следующим образом:

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

Предполагая, что rand () возвращает значение в диапазоне [0.0, 1.0)(поэтому может выводить 0.0, никогда не будет выводить 1.0).

...