Wie kann ich eine unendliche Zahl in Python darstellen?
Wie kann ich vertreten, eine unendliche Zahl in python? Egal, welche Nummer Sie eingeben in das Programm, keine Zahl sollte größer sein als diese Darstellung der Unendlichkeit.
Kommentar zu dem Problem
verwenden Sie
float('inf')
Gibt es eine chance, dass die Zahl eine ganze Zahl sein?
math.inf
ist sinnvoll, als Startwert der Optimierung Probleme, weil es korrekt funktioniert mit min, zB. min(5, math.inf) == 5
. Zum Beispiel, in kürzester-Pfad-algorithmen, können Sie festlegen, unbekannte Entfernungen, die math.inf
, ohne dass spezielle Fall None
oder übernehmen Sie eine Obere Schranke 9999999
. Ebenso können Sie -math.inf
wird als Startwert für die Maximierung Probleme. InformationsquelleAutor der Frage ssierral | 2011-10-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Python, die Sie tun können:
In Python 3.5, die Sie tun können:
Dann:
Wird immer wahr sein. Es sei denn natürlich, wies darauf hin, x ist auch die Unendlichkeit oder "nan" ("not a number").
Zusätzlich (Python-2.NUR x), in einen Vergleich zu
Ellipsis
,float(inf)
ist kleiner, e.g:würde true zurückgeben.
InformationsquelleAutor der Antwort WilHall
Da Python 3.5 können Sie
math.inf
:InformationsquelleAutor der Antwort rightfold
Ich weiß nicht genau, was du tust, aber
float("inf")
gibt Ihnen schweben in die Unendlichkeit, die größer ist als jede andere Zahl.InformationsquelleAutor der Antwort Ned Batchelder
Einen anderen, weniger bequem, Weg, es zu tun, ist die Verwendung
Decimal
Klasse:InformationsquelleAutor der Antwort Denis Malinovsky
Es ist eine Unendlichkeit in der NumPy-Bibliothek:
from numpy import inf
. Um negative Unendlichkeit kann man einfach schreiben-inf
.InformationsquelleAutor der Antwort Lenar Hoyt
In python2.x es war ein schmutziger hack, diente diesem Zweck (NIE verwenden, es sei denn absolut notwendig):
Damit der check
i < ''
hältTrue
für jede ganze Zahli
.Es wurde vernünftigerweise deprecated in Python ist3. Nun, solche Vergleiche am Ende mit
InformationsquelleAutor der Antwort Antony Hatchkins
Niemand scheint zu erwähnt habe, über die negative Unendlichkeit explizit, so dass ich denke, ich sollte hinzufügen.
Für positive Unendlichkeit (nur der Vollständigkeit halber):
Für negative Unendlichkeit:
InformationsquelleAutor der Antwort Sнаđошƒаӽ
zunächst Typ float('inf') ist float-obwohl es kann verwendet werden, für Vergleich Zwecke, aber es ist deutlich langsamer zu vergleichen, gegen Sie. Also, wenn Sie vergleichen eine große Liste von Nummer gegen float('inf'), dann vorsichtig sein, um ihn abzuholen. Ich bin mir nicht sicher über die Leistung von "math.inf".
InformationsquelleAutor der Antwort user2719152
Legen Sie den Wert mit dem code oben
InformationsquelleAutor der Antwort seansio1995