Вместо значения 0.06 выводит 0.060000000000000005, так же с 0.09, 0.1 и т.д

Имеется код:

f1 = 0
    f2 = 4
    n = 0
    x1 = 0
    x2 = 0.01
    print("#    x1      x2      f1      f2")
    while n <= 9:
        n = n + 1
        x1 += 0.01
        x2 += 0.01

        print(str(n) + "    " + str(x1) + "     " + str(x2) + "     " + str(f1) + "     " + str(f2))
        print(end="")

Вот, что выводит:

#       x1              x2              f1              f2
1       0.01            0.02            0               4
2       0.02            0.03            0               4
3       0.03            0.04            0               4
4       0.04            0.05            0               4
5       0.05            0.060000000000000005            0               4
6       0.060000000000000005            0.07            0               4
7       0.07            0.08            0               4
8       0.08            0.09            0               4
9       0.09            0.09999999999999999             0               4
10      0.09999999999999999             0.10999999999999999             0          4

Должно выводить так:

# x1  x2  f1    f2
0 0.0 0.1 1.22  1.24
1 0.1 0.2 1.24  1.255
2 0.2 0.3 1.255 1.39
…
9 0.9 1.0 2.93  3.1415

И подскажите пожалуйста как правильней сделать табуляцию.


Ответы (0 шт):