刷题看到了 float(‘inf’),因此作为记录此用法
用法
float(“INF”)表示为正无穷;
float(“-INF”)表示负无穷;
具体的用法:
- 用INF做加法、乘法等算数运算仍然会的到inf:
In [1]: 1 + float('INF')
Out[1]: inf
In [2]: 88 * float('INF')
Out[2]: inf
注意:这里使用INF * 0会的到not-a-number(nan)
- 正无穷 * 0 得到nan
In [3]: 0 * float('INF')
Out[3]: nan
除了 INF 外的其他数除以 INF ,会得到0:
In [4]: float('INF') / float('INF')
Out[4]: nan
In [5]: 2020 / float('INF')
Out[5]: 0.0
In [6]: 12138 / float('INF')
Out[6]: 0.0
- 任何其他的数值除以 INF 都会得到 INF, 因为INF表示正无穷
In [7]: float('INF') / 1203434
Out[7]: inf
- 如果 INF 涉及到 < 和 > 不等式的问题:
记住所有数都比 -inf 大,所有数都比 +inf 小就可以了。
In [8]: 12138 < float('INF')
Out[8]: True
In [9]: 12138 < float('-INF')
Out[9]: False
其他语言类似的用法:
- 在 C 和 C++ 中,可以使用 INFINITY 宏来表示正无穷大。例如,double x = INFINITY; 将变量 x 设置为正无穷大。
- 在 Java 中,可以使用 Double.POSITIVE_INFINITY 来表示正无穷大。例如,double x = Double.POSITIVE_INFINITY; 将变量 x 设置为正无穷大。
- 在 JavaScript 中,可以使用 Infinity 来表示正无穷大。例如,var x = Infinity; 将变量 x 设置为正无穷大。
在 Ruby 中,可以使用 Float::INFINITY 来表示正无穷大。例如,x = Float::INFINITY 将变量 x 设置为正无穷大。