Python 数学重要性级别

标签 python math significant-digits

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

x1=5.904e-16

x1=1.048576e-14

虽然这些数字很小,但我想做的只是对它们进行平均。

avg = 1/2*(x1+x2)

但这给出了 avg = 0

好了!

最佳答案

我假设您使用的是 Python 2。

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

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

要解决此问题,请使用等效 float (0.5),或更改除法的参数之一(12 >,没关系)到一个 float ,这样它也会返回一个 float 。

print 1.0/2
# 0.5
print 1/2.0
# 0.5
print 1.0/2.0
# 0.5

您也可以,如 nneonneo mentioned ,将和直接放入除法中,如下所示:

(x1+x2)/2.0

这也将给出所需的结果。

关于Python 数学重要性级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14545354/

相关文章:

python - sklearn 中的分类树给出不一致的答案

python - 从 PyQt GUI 连接到串口

algorithm - 如何证明数学中的编程功能

java - 如何编写一个程序来解决多个问题?

r - 使用具有 2 位有效数字的 formatC 的奇怪输出

python - 如何反向索引 Counter 并将其转换为 defaultdict? Python

python - 为 Python 或 SWIG 模块创建编译 C-dll,如何继续?

c# - 结果 c# 中的小数位

c++ - 在没有循环的情况下从 C++ 中的 int 中提取 n 个最重要的非零位