Как я могу представить бесконечное число в Python?
Как я могу представить бесконечное число в python? Независимо от того, какое число вы вводите в программу, ни одно число не должно быть больше, чем это представление бесконечности.
9 ответов:
в 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.
Я не знаю точно, что вы делаете, но
float("inf")
дает вам бесконечность поплавка, которая больше, чем любое другое число.
другой, менее удобный, способ сделать это-использовать
Decimal
класс:from decimal import Decimal pos_inf = Decimal('Infinity') neg_inf = Decimal('-Infinity')
в библиотеке NumPy есть бесконечность:
from numpy import inf
. Чтобы получить отрицательную бесконечность можно просто написать-inf
.
никто, кажется, не упоминал о отрицательной бесконечности явно, поэтому я думаю, что я должен добавить его.
для положительной бесконечности (просто для полноты картины):
math.inf
к минус бесконечности:
-math.inf
В вместо python2.х был грязный хак, который служил этой цели (никогда не используйте его без крайней необходимости):
None < any integer < any string
таким образом, при проверке
i < ''
держитTrue
для любого целого числаi
.он был разумно осужден в python3. Теперь такие сравнения заканчиваются
TypeError: unorderable types: str() < int()
прежде всего тип поплавка('inf') - это поплавок, хотя он может использоваться для сравнения, но он значительно медленен для сравнения с ним. Поэтому, если вы сравниваете большой список чисел с float ('inf'), то будьте осторожны, чтобы выбрать его. Я не уверен в производительности " math.бесконечность."