Divisionsrätsel: Ganzzahlen dividieren in Dezimalzahlen in Python 3
In Python 3 führt die Durchführung einer Ganzzahldivision (z. B. 2/2) unerwartet zu einem Ergebnis ein Float (1,0) anstelle einer Ganzzahl. Dieses Verhalten unterscheidet sich von früheren Python-Versionen, in denen eine ganzzahlige Division zu einem ganzzahligen Ergebnis führte.
Ursprung der Verschiebung
Diese Änderung wurde in Python 3 eingeführt, um Mehrdeutigkeiten zu beseitigen und zu verbessern mathematische Konsistenz. Vor Python 3 verhielt sich die Ganzzahldivision in Python 2 anders und rundete auf die nächste Ganzzahl ab (z. B. 2/2 ergab 0).
Das Dilemma angehen
Um dieses Problem zu beheben, hat Python 3 den //-Operator für die Etagendivision eingeführt, der eine ganzzahlige Division gewährleistet und das abgerundete Ergebnis zurückgibt (z. B. 2//2). ergibt 1).
Empfehlung
Verwenden Sie als Best Practice immer den //-Operator für die Etagendivision in Python 3. Dadurch wird sichergestellt, dass Sie das beabsichtigte ganzzahlige Ergebnis erhalten . Eine Umwandlung ist nicht erforderlich, da der //-Operator explizit die Bodenteilung durchführt.
Weitere Erläuterungen
Weitere Informationen finden Sie in PEP-238: Ändern des Teilungsoperators. Dieses Dokument beschreibt die Gründe für die Änderung und bietet zusätzliche Erkenntnisse.
Das obige ist der detaillierte Inhalt vonWarum gibt die Ganzzahldivision in Python 3 eine Gleitkommazahl zurück und wie kann ich ein ganzzahliges Ergebnis erhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!