Zen of Python
20.1K subscribers
1.21K photos
161 videos
32 files
3.16K links
Полный Дзен Пайтона в одном канале

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/xZOL
Download Telegram
math.fsum: получаем сумму float без «осложнений»

Тип float печально известен своей неточностью. Когда вы складываете два числа, результат может содержать небольшую ошибку. И чем больше чисел, тем выше ошибка:

sum([0.8] * 1_000)
# 799.9999999999887 вместо 800

Если вы хотите устранить это недоразумение, используйте math.fsum():

import math

math.fsum([.8] * 1_000)
# 800.0

#math
👍201