Float sayings it a string & cant do math with it

To format your code see:

It is not the hint I was aiming at, but the return type. You do not need the hint, it is defaulted.

A list of lines is not a float, even if the list contains one line with a float. Python is a language with strong typing, so it will not magically change the type of the output of readlines() to a float. You printed the MadeTotal and it printed ['337.02']. That is the output for a list, containing one item and it is a string. You can call float(MadeTotal[0]), i.e. on the first item of the list, not on the list.