This question already has an answer here:
- Generate random integers between 0 and 9 21 answers
I've read the manual for pseudo-randomness in Python, and to my knowledge, you can only generate numbers up to a given maximum value, i.e. 0-1, 0-30, 0-1000, etc. I want to:
- a) Generate a number between two ints, i.e. 5-55, and
- b) Only include multiples of 5 (or those ending in 5 or 0, if that's easier)
I've looked around, and I can't find anywhere that explains this.
should work in any Python >= 2.
The simplest way is to generate a random nuber between 0-1 then strech it by multiplying, and shifting it.
So yo would multiply by (x-y) so the result is in the range of 0 to x-y,
Then add x and you get the random number between x and y.
To get a five multiplier use rounding. If this is unclear let me know and I'll add code snippets.
If you don't want to do it all by yourself, you can use the random.randrange function.
For example
import random; print random.randrange(10, 25, 5)
prints a number that is between 10 and 25 (10 included, 25 excluded) and is a multiple of 5. So it would print 10, 15, or 20.Create an integer random between e.g.
1-11
and multiply it by5
. Simple math.produces e.g.