我如何在python中表示一个无限的数字?无论你在程序中输入哪个数字,都不应该大于这个表示无穷大的数字。


当前回答

1. 使用float('inf')和float('-inf)

positive_infinity = float('inf') 
negative_infinity = float('-inf')

2. 使用Python的数学模块

import math
 
positive_infinity = math.inf 
negative_infinity = -math.inf 

3.整数的最大尺寸

import sys

maxSize = sys.maxsize # 9223372036854775807
minSize = -sys.maxsize # -9223372036854775807

4. 使用Python的十进制模块

from decimal import Decimal
 
positive_infinity = Decimal('Infinity') 
negative_infinity = Decimal('-Infinity') 

其他回答

NumPy库中有一个无穷大:from NumPy import inf。要得到负无穷大,可以简单地写入-inf。

在python2。x有一个肮脏的黑客达到了这个目的(千万不要使用它,除非绝对必要):

None < any integer < any string

因此,检查i < "对于任何整数i都为真。

它在python3中已被合理地弃用。现在这样的比较以

TypeError: unorderable types: str() < int()

总的来说,无穷有两种定义。

对于正无穷

posVal1 = math.inf
posVal2 = float("inf")

对于负无穷

negVal1 = -math.inf
negVal2 = float("-inf")

对于正无穷

pos_inf_val = float("infinity")

对于负无穷

neg_inf_val = float("-infinity")

另一种不太方便的方法是使用Decimal class:

from decimal import Decimal
pos_inf = Decimal('Infinity')
neg_inf = Decimal('-Infinity')