как генерировать целые числа времени прибытия, используя random.expovariate () в python

В random модуле expovariate() функция expovariate() генерирует числа с плавающей запятой, которые могут использоваться для моделирования времени между expovariate() процесса Пуассона. Как я могу использовать это для генерации целочисленного времени между прибытием, а не с номерами с плавающей запятой?

One Solution collect form web for “как генерировать целые числа времени прибытия, используя random.expovariate () в python”

jonrsharpe уже упоминал об этом, вы можете просто позволить функции генерировать числа с плавающей запятой и самостоятельно преобразовывать вывод в целые числа, используя int ()

Эта

 >>> import random >>> [random.expovariate(0.2) for i in range(10)] [7.3965169407177465, 6.950770519458953, 9.690677483221426, 2.1903490679843927, 15.769487400856976, 3.508366058170216, 2.1922982271553155, 2.591955678743926, 7.791150855029359, 22.180358323964935] 

Затем следует ввести

 >>> import random >>> [int(random.expovariate(0.2)) for i in range(10)] [0, 10, 5, 15, 4, 0, 0, 4, 5, 4] 

Другой пример

 >>> import random >>> [int(random.expovariate(0.001)) for i in range(10)] [435, 64, 575, 2147, 1233, 1630, 1128, 899, 180, 1190] 

В приведенных выше примерах используется понимание списка для генерации нескольких результатов в одной строке. Конечно, можно свести к

 >>> import random >>> int(random.expovariate(0.1) 5 

Обратите внимание: если вы передадите большее число в .expovariate() вас больше шансов получить меньшие плавающие точки в результате, а при использовании метода int() для преобразования float в целые числа цифры от 0 до 1 будут преобразованы в 0 ,

Python - лучший язык программирования в мире.