print "%10.3f" % f
выровняет число f
по правому краю (кроме этого: %-10.3f
будет выровнено по левому краю). Строка будет выровнена по правому краю до 10 символов (больше не работает с> 10 символами) и ровно 3 десятичных знака. Итак:
f = 698.230 # <-- 7 characters when printed with %10.3f
print "%10.3f" % f # <-- will print " 698.2300" (two spaces)
В качестве теста для вашего примера набора сделайте следующее:
print "\n".join(map(lambda f: "%10.3f" % f, [4.5656, 24.09, 698.23, -3.5]))