randrange(start, stop) only takes integer arguments. So how would I get a random number between two float values?
Use random.uniform(a, b):
>>> import random >>> random.uniform(1.5, 1.9) 1.8733202628557872
random.uniform(a, b) appears to be what your looking for. From the docs:
Return a random floating point number N such that a <= N <= b for a <= b and b <= N <= a for b < a.
if you want generate a random float with N digits to the right of point, you can make this :
the second argument is the number of decimals.
Most commonly, you’d use:
import random random.uniform(a, b) # range [a, b) or [a, b] depending on floating-point rounding
Python provides other distributions if you need.
If you have
numpy imported already, you can used its equivalent:
import numpy as np np.random.uniform(a, b) # range [a, b)
Again, if you need another distribution,
numpy provides the same distributions as python, as well as many additional ones.
From my experience dealing with python, I can only say that the random function can help in generating random float numbers. Take the example below;
import random # Random float number between range 15.5 to 80.5 print(random.uniform(15.5, 80.5)) # between 10 and 100 print(random.uniform(10, 100)) The random.uniform() function returns a random floating-point number between a given range in Python
The two sets of code generates random float numbers. You can try experimenting with it to give you what you want.
Use this to get random floating point number between range n to m:
import random random.uniform(n,m)
If you want to get a random float number up to x decimal places you can use this instead:
import random round(random.uniform(n, m), x)