Pythonで無限数を表現するにはどうすればよいですか? プログラムに入力する数値に関係なく、この無限大の表現よりも大きい数値を指定することはできません。
748960 次
10 に答える
835
Python では、次のことができます。
test = float("inf")
Python 3.5 では、次のことができます。
import math
test = math.inf
その後:
test > 1
test > 10000
test > x
常に真になります。もちろん、指摘されているように、x も無限大または「ナン」(「数ではない」) でない限り。
さらに (Python 2.x のみ) と比較するとEllipsis
、以下のようになりfloat(inf)
ます。
float('inf') < Ellipsis
true を返します。
于 2011-10-15T23:09:43.343 に答える
83
誰も負の無限大について明示的に言及していないようですので、追加する必要があると思います。
負の無限大の場合:
-math.inf
正の無限大の場合 (完全を期すために):
math.inf
于 2016-12-09T06:31:50.133 に答える
33
あなたが何をしているのか正確にはわかりませんがfloat("inf")
、他のどの数値よりも大きい float Infinity が得られます。
于 2011-10-15T23:09:22.393 に答える
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 に答える