Python: генерировать случайное число между x и y, которое кратно 5
Я прочитал руководство по псевдослучайности в Python, и, насколько мне известно, вы можете генерировать числа только до заданного максимального значения, то есть 0-1, 0-30, 0-1000 и т.д. Я хочу в:
- a) Создайте число между двумя int, т.е. 5-55 и
- b) Включить только кратные 5 (или те, которые заканчиваются на 5 или 0, если это проще)
Я огляделся, и я не могу найти нигде, что объясняет это.
Ответы
Ответ 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.
Чтобы получить округление пяти умножителей. Если это неясно, дайте мне знать, и я добавлю фрагменты кода.