Why would we take a perfectly good integer and convert it to a float? It is a counting number, why not just leave it that way?
m = len(sequence)
The number to declare as a float is the numerator. The quotient will continue to be a float and the division will make perfect sense.
In the present sense, we don't want a float until the return value is prepared. What we need is an integer value for the median index of a odd length list.
n = int(m / 2)
Recall that lists a zeroindexed, so if we look at an odd length list,
x = [ 2, 4, 6, 8, 10 ]
^

x[n] where n = int(5 / 2) = 2
median = x[n]
For an even length list the median is the middle two terms averaged. Notice that x[n] is still in the middle, but on the right side (lowest value of upper half). The left side will be x[n  1], the highest value of the lower half.