返回的平均值在小数位数方面看起来不正确(Python)



使用+str作为变量返回的平均值在小数位数方面看起来不正确。

我下面的代码应该提供25.83,但我得到25.830000000002

total_bmi = 0
for bmi in bmis:
total_bmi += float(bmi)
average_bmi = total_bmi/len(bmis)
print("Average BMI: " + str(average_bmi))

原因在于浮点数在硬件中的存储方式。不需要太多细节,只需使用:

total_bmi = 0
for bmi in bmis:
total_bmi += float(bmi)
average_bmi = total_bmi/len(bmis)
print("Average BMI: " + str(round(average_bmi, 2)))

相关内容

  • 没有找到相关文章

最新更新