Comment puis-je représenter un nombre infini en Python?
comment représenter un nombre infini en python? Peu importe le nombre que vous entrez dans le programme, aucun nombre ne devrait être plus grand que cette représentation de l'infini.
9 réponses
en Python, vous pouvez faire:
test = float("inf")
en Python 3.5, vous pouvez faire:
import math
test = math.inf
et ensuite:
test > 1
test > 10000
test > x
Sera toujours vrai. Sauf bien sûr, comme indiqué, x est aussi infini ou "nan"("pas un nombre").
En Plus (Python 2.x seulement), par comparaison à Ellipsis
, float(inf)
est moindre, E. g:
float('inf') < Ellipsis
retournerait vrai.
depuis Python 3.5, vous pouvez utiliser math.inf
:
>>> import math
>>> math.inf
inf
Je ne sais pas exactement ce que vous faites, mais float("inf")
vous donne un flotteur infini, qui est plus grand que tout autre nombre.
une autre façon, moins commode, de le faire est d'utiliser Decimal
classe:
from decimal import Decimal
pos_inf = Decimal('Infinity')
neg_inf = Decimal('-Infinity')
il y a une infinité dans la bibliothèque de NumPy: from numpy import inf
. Pour obtenir l'infini négatif on peut simplement écrire -inf
.
personne ne semble avoir mentionné explicitement l'infini négatif, donc je pense que je devrais l'ajouter.
Pour l'infini positif (juste pour le plaisir de l'exhaustivité):
math.inf
pour l'infini négatif:
-math.inf
en python2.x il y avait un piratage sale qui servait ce but (ne L'utilisez jamais à moins qu'il ne soit absolument nécessaire):
None < any integer < any string
ainsi le contrôle i < ''
tient True
pour tout entier i
.
il a été raisonnablement déprécié en python3. Aujourd'hui, de telles comparaisons se terminent par
."TypeError: unorderable types: str() < int()
tout d'abord type de flotteur('inf') est flotteur bien qu'il puisse être utilisé à des fins de comparaison, mais il est considérablement lent à comparer avec elle. Donc, si vous comparez une grande liste de nombre contre flottant('inf') alors faites attention à le choisir. Je ne suis pas sûr de la performance de "math.inf".
value = 0x7fffffff
définit la valeur en utilisant le code ci-dessus