Подтвердить что ты не робот

Python: генерировать случайное число между x и y, которое кратно 5

Я прочитал руководство по псевдослучайности в Python, и, насколько мне известно, вы можете генерировать числа только до заданного максимального значения, то есть 0-1, 0-30, 0-1000 и т.д. Я хочу в:

  • a) Создайте число между двумя int, т.е. 5-55 и
  • b) Включить только кратные 5 (или те, которые заканчиваются на 5 или 0, если это проще)

Я огляделся, и я не могу найти нигде, что объясняет это.

4b9b3361

Ответ 1

Создать целое случайное число между, например, 1-11 и умножьте его на 5. Простая математика.

import random
for x in range(20):
  print random.randint(1,11)*5,
print

производит, например,

5 40 50 55 5 15 40 45 15 20 25 40 15 50 25 40 20 15 50 10

Ответ 2

>>> import random
>>> random.randrange(5,60,5)

должен работать в любом Python >= 2.

Ответ 3

Если вы не хотите делать это самостоятельно, вы можете использовать функцию random.randrange.

Например, import random; print random.randrange(10, 25, 5) печатает число от 10 до 25 (включено 10, исключено 25) и кратно 5. Таким образом, он будет печатать 10, 15 или 20.

Ответ 4

Самый простой способ - создать случайный нумер между 0-1, затем растянуть его, умножив и сдвинув его.
Таким образом, yo будет умножаться на (x-y), чтобы результат находился в диапазоне от 0 до x-y,
Затем добавьте x и вы получите случайное число между x и y.

Чтобы получить округление пяти умножителей. Если это неясно, дайте мне знать, и я добавлю фрагменты кода.