如何用Python实现体脂计算公式?现有实现结果偏差大
体脂计算公式的正确Python实现
问题核心在于对数底数不匹配:Python标准库math.log()默认计算自然对数(底数为e),但你参考的计算器使用的是常用对数(底数为10),这是结果偏差极大的主要原因。
正确实现需替换为math.log10(),代码如下:
from math import log10 # 确保围度(hips/waist/neck)和身高(growth)的单位与计算器一致(通常为厘米或英寸,需统一) fat_percent = 495 / ( 1.29579 - 0.35004 * log10(self.hips + self.waist - self.neck) + 0.22100 * log10(self.user.profile.growth) ) - 450
额外注意:
- 必须保证所有输入参数的单位与目标计算器完全一致(比如计算器用英寸,你的代码也需用英寸,反之亦然),单位不匹配会直接导致结果偏差。
- 该公式通常有特定适用人群(比如男性),若适用人群不符,结果也会不准确。
内容的提问来源于stack exchange,提问作者Justscoundrel
相关产品推荐
相关产品推荐

