Ganzzahldivision in Python
In Python führt die Ganzzahldivision zwischen zwei Ganzzahlen zu einer Ganzzahl, auch wenn das Ergebnis andernfalls eine Dezimalzahl wäre Fraktion. Dieses Verhalten kann für diejenigen, die mit anderen Programmiersprachen vertraut sind, überraschend sein.
Beispiel:
Betrachten Sie den folgenden Code:
>>> (20 - 10) / (100 - 10) 0
Hier, wir würde erwarten, dass das Ergebnis 0,1111111111111111 ist, da die Differenz zwischen 20 und 10 beträgt 10, und die Differenz zwischen 100 und 10 beträgt 90. Allerdings wertet Python jede Seite der Division als Ganzzahl aus, was zu 0 führt. Da 0 dividiert durch 90 gleich 0 ist, wird das endgültige Ergebnis auf 0 gerundet.
Fix:
Um das gewünschte Ergebnis zu erhalten, können Sie eine der Zahlen in a umwandeln float:
>>> (20 - 10) / float((100 - 10)) 0.1111111111111111
Alternativ können Sie die zukünftige Funktion „Division“ importieren, die das Verhalten des „/“-Operators so ändert, dass immer ein Float zurückgegeben wird:
>>> from __future__ import division >>> (10 - 20) / (100 - 10) -0.1111111111111111
Nach Verständnis Mit dem Standardverhalten der Ganzzahldivision in Python können Sie unerwartete Ergebnisse vermeiden und sicherstellen, dass Ihr Code die gewünschten Ergebnisse liefert.
Das obige ist der detaillierte Inhalt vonWie geht Python mit der Ganzzahldivision um und wie erhalte ich Gleitkommaergebnisse?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!