Да. Только если записать бесконечное количество троек. А это слишком уж долго для того, чтобы быть возможным!


Собственно, 10 = 2 * 5, поэтому мы можем записывать в десятичной системе с абсолютной точностью только дроби 1/2, 1/5 и их произведения, например, 1/50 = 1/2 * 1/5 * 1/5




print(1/2)
print(1/5)
print(1/50)



0.5
0.2
0.02

Любые другие дроби python записывает приближенно. А что ему остается делать?




print(1/3)
print(1/7)
print(1/1001)



0.3333333333333333
0.14285714285714285
0.000999000999000999

Получается, в шестидесятиричной системе счисления древних вавилонян были свои преимущества - они могли точно записывать еще и 1/3: ведь 60 = 2 * 2 * 3 * 5



Ну хорошо, можно понять, откуда у нас возникает неточность в вычислениях с 1/3, но причем тут 0.1? Чем эта дробь-то провинилась?

Почему с ней получаются ошибки?