如何在 python 中表示无限数?无论您在程序中输入哪个数字,任何数字都不应大于此表示的无穷大。
问问题
748960 次
10 回答
835
在 Python 中,您可以执行以下操作:
test = float("inf")
在 Python 3.5 中,您可以执行以下操作:
import math
test = math.inf
进而:
test > 1
test > 10000
test > x
永远都是真的。当然,正如所指出的,除非 x 也是无穷大或“nan”(“不是数字”)。
此外(仅限 Python 2.x),与 相比Ellipsis
,float(inf)
较小,例如:
float('inf') < Ellipsis
将返回 true。
于 2011-10-15T23:09:43.343 回答
102
从 Python 3.5 开始,您可以使用math.inf
:
>>> import math
>>> math.inf
inf
于 2015-05-10T21:49:53.990 回答
83
似乎没有人明确提到负无穷大,所以我想我应该添加它。
对于负无穷大:
-math.inf
对于正无穷大(只是为了完整性):
math.inf
于 2016-12-09T06:31:50.133 回答
33
我不知道你在做什么,但float("inf")
给你一个浮点数,它比任何其他数字都大。
于 2011-10-15T23:09:22.393 回答
32
NumPy 库中有一个无穷大:from numpy import inf
. 要获得负无穷大,可以简单地写-inf
。
于 2016-05-05T22:35:05.583 回答
27
另一种不太方便的方法是使用Decimal
类:
from decimal import Decimal
pos_inf = Decimal('Infinity')
neg_inf = Decimal('-Infinity')
于 2013-10-12T03:53:16.343 回答
15
在 python2.x 中有一个肮脏的黑客可以达到这个目的(除非绝对必要,否则永远不要使用它):
None < any integer < any string
因此检查i < ''
适用True
于任何整数i
。
它在 python3 中已被合理弃用。现在这样的比较结束了
TypeError: unorderable types: str() < int()
于 2014-11-08T10:07:23.213 回答
11
此外,如果您使用 SymPy,您可以使用sympy.oo
>>> from sympy import oo
>>> oo + 1
oo
>>> oo - oo
nan
等等
于 2019-08-05T15:54:47.757 回答
1
对于正无穷大
pos_inf_val = float("infinity")
对于负无穷大
neg_inf_val = float("-infinity")
于 2022-02-17T17:37:45.180 回答
0
于 2022-02-22T10:56:59.063 回答