Heim >Backend-Entwicklung >Python-Tutorial >Wie geht Python mit der Ganzzahldivision um und wie erhalte ich Gleitkommaergebnisse?

Wie geht Python mit der Ganzzahldivision um und wie erhalte ich Gleitkommaergebnisse?

Barbara Streisand
Barbara StreisandOriginal
2024-12-14 09:00:20777Durchsuche

How Does Python Handle Integer Division, and How Can I Get Floating-Point Results?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn