Могу ли я реализовать «random.randint()» с помощью «random.random()»?Python

Программы на Python
Anonymous
Могу ли я реализовать «random.randint()» с помощью «random.random()»?

Сообщение Anonymous »

Я хочу сгенерировать случайное число между [a,b] включительно в Python
Мне следует использовать random.randint(a,b), но что, если я только вспомнила случайное.random(), которое возвращает случайное число с плавающей запятой [0,1), могу ли я получить равномерное распределение случайных чисел?
мои мысли такие:
  • Код: Выделить всё

    round(a + random.random()*(b-a))
    Я провел небольшой тест с этим... результат выглядит правильным, но я не уверен, что это математически/статистически правильно.
  • возьмем последние несколько битов, что-то вроде случайного. random() и 0b1111(поскольку результирующее число с плавающей запятой должно быть случайным набором битов, я беру страницу отсюда)... но я не нашел способа преобразовать число с плавающей запятой в двоичное или сделать что-либо еще битовые манипуляции с ним в Python


Подробнее здесь: https://stackoverflow.com/questions/786 ... dom-random

Вернуться в «Python»