Python数学意义

2024-04-27 00:21:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我从一个数据集中加载了2个值。在

x1=5.904e-16

以及

^{pr2}$

虽然这些数字很小,但我只想把它们平均。在

avg = 1/2*(x1+x2)

但平均值=0

啊!在


Tags: 数据数字avg平均值x1x2个值pr2
2条回答

我假设您使用的是python2。在

当两个参数都是整数时,python2使用整数除法,这意味着结果也将是整数。例如:

print 1/2
# 0
print 5/2
# 2

为了克服这个问题,要么使用float等价物(0.5),要么将除法的一个参数(或者1或{})更改为float,这样它也将返回一个float。在

^{pr2}$

你也可以,如nneonneo mentioned,把总和直接放入除法中,如下所示:

(x1+x2)/2.0

这也会产生期望的结果。在

avg = 0.5*(x1+x2)

工作是因为在python中1/2显然不等于0.5,但是没有,它认为1/2是1除以2,也没有超过小数点的值,所以它假设您不关心想要这个值。在

相关问题 更多 >