我如何在python中表示一个无限的数字?无论你在程序中输入哪个数字,都不应该大于这个表示无穷大的数字。
当前回答
在python2。x有一个肮脏的黑客达到了这个目的(千万不要使用它,除非绝对必要):
None < any integer < any string
因此,检查i < "对于任何整数i都为真。
它在python3中已被合理地弃用。现在这样的比较以
TypeError: unorderable types: str() < int()
其他回答
∞
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')
似乎没有人明确提到负无穷,所以我想我应该加上它。
对于负无穷:
-math.inf
对于正无穷(为了完整起见):
math.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')
在Python中,你可以这样做:
test = float("inf")
在Python 3.5中,你可以:
import math
test = math.inf
然后:
test > 1
test > 10000
test > x
永远是真的。当然,如前所述,除非x也是无穷大或“nan”(“不是一个数字”)。
此外(Python 2。x ONLY),与Ellipsis相比,float(inf)较小,例如:
float('inf') < Ellipsis
返回true。
推荐文章
- 如何删除Python中的前导空白?
- python中的assertEquals和assertEqual
- 如何保持Python打印不添加换行符或空格?
- 为什么Python的无穷散列中有π的数字?
- Python 3.7数据类中的类继承
- 如何在PyTorch中初始化权重?
- 计数唯一的值在一列熊猫数据框架像在Qlik?
- 使用Pandas将列转换为行
- 从matplotlib中的颜色映射中获取单个颜色
- 将Pandas或Numpy Nan替换为None以用于MysqlDB
- 使用pandas对同一列进行多个聚合
- 使用Python解析HTML
- django MultiValueDictKeyError错误,我如何处理它
- 如何在for循环期间修改列表条目?
- 我如何在Django中创建一个鼻涕虫?