Heim > Backend-Entwicklung > Python-Tutorial > Warum führt die Ganzzahldivision in Python manchmal zu unerwarteten gerundeten Ergebnissen?

Warum führt die Ganzzahldivision in Python manchmal zu unerwarteten gerundeten Ergebnissen?

Linda Hamilton
Freigeben: 2024-12-19 00:22:11
Original
760 Leute haben es durchsucht

Why Does Integer Division in Python Sometimes Produce Unexpected Rounded Results?

Ganzzahldivision in Python: Das Geheimnis der gerundeten Ergebnisse lüften

In Python können Divisionsoperationen manchmal zu unerwarteten Ergebnissen führen, insbesondere wenn die Operanden sind ganze Zahlen. Um dieses Verhalten zu verstehen, müssen wir uns mit den Nuancen der Ganzzahldivision von Python befassen.

Wenn zwei Ganzzahlen dividiert werden, ist das Ergebnis ebenfalls eine Ganzzahl. Dieses Verhalten ergibt sich aus der Implementierung der Division in Python 2.x, bei der die Operanden abgeschnitten werden, bevor die Operation ausgeführt wird. Betrachten Sie das Beispiel:

>>> (20-10) / (100-10)
0
Nach dem Login kopieren

Hier ergeben die Operanden 10 bzw. 90. Da es sich bei beiden um Ganzzahlen handelt, wird das Ergebnis ebenfalls auf 0 gekürzt. Dies liegt daran, dass der Divisionsoperator (/) in Python 2.x immer eine Ganzzahl ergibt.

Um dieses Problem zu beheben, kann man eine Float-Division durch erzwingen Einen der Operanden in einen Float umwandeln:

>>> (20-10) / float((100-10))
0.1111111111111111
Nach dem Login kopieren

Alternativ können Sie das Divisionsmodul aus importieren __future__:

>>> from __future__ import division
>>> (10 - 20) / (100 - 10)
-0.1111111111111111
Nach dem Login kopieren

Dadurch wird sichergestellt, dass die Division immer einen Float zurückgibt, unabhängig von den Operandentypen. Wenn Sie diese Feinheiten verstehen, können Sie unerwartete Rundungsfehler in Ihrem Python-Code vermeiden.

Das obige ist der detaillierte Inhalt vonWarum führt die Ganzzahldivision in Python manchmal zu unerwarteten gerundeten Ergebnissen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage