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


当前回答

对于正无穷

pos_inf_val = float("infinity")

对于负无穷

neg_inf_val = float("-infinity")

其他回答

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

对于正无穷

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

对于负无穷

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

如果你使用SymPy,你也可以使用symphony .oo

>>> from sympy import oo
>>> oo + 1
oo
>>> oo - oo
nan

etc.

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') 

我不知道你到底在做什么,但float("inf")给你一个浮点无穷大,这比任何其他数字都大。

用python表示∞

float("inf")或float("inf")或float("inf")或float("inf")或float("infinity")创建一个持有∞的float对象

你也可以在python中表示-∞

float("-inf")或float("-inf")或float("-inf")或float("-infinity")创建一个持有-∞的float对象

可以执行算术运算:

infinity = float("inf")
ninfinity = float("-inf")
nan = float("nan")

print(infinity*infinity)#inf
print(ninfinity+infinity)#not a number
print(1/-infinity)#is -0.0
print(nan*nan)# is not a number
print(1/infinity) # is 0.0 since 1/∞ is 0

输出:

$ python3 floating.py
inf
nan
-0.0
nan
0.0