Use random.uniform(a, b):
Returns a random floating point number N such that a <= N <= b for a <= b and b <= N <= a for b < a.
The end-point value b may or may not be included in the range depending on floating-point rounding in the equation a + (b-a) * random().
>>> random.uniform(1.5, 1.9)
1.8733202628557872