randrange(start, stop) only takes integer arguments. So how would I get a random number between two float values?

randrange(start, stop)

Use random.uniform(a, b):

>>> random.uniform(1.5, 1.9) 1.8733202628557872

random.uniform(a, b) appears to be what your looking for. From the docs:

random.uniform(a, b)

Return a random floating point number N such that a <= N <= b for a <= b and b <= N <= a for b < a.

See here.