Unerwartete Gleitkommadarstellungen in Python

Hallo, ich verwende ein Wörterbuch in Python, in dem einige Städte und ihre Bevölkerung so gespeichert sind:

population = { 'Shanghai' : 17.8, 'Istanbul' : 13.3, 'Karachi' : 13.0, 'mumbai' : 12.5 }

Jetzt wenn ich den Befehl benutzeprint populationIch erhalte das Ergebnis:

{'Karachi': 13.0, 'Shanghai': 17.800000000000001, 'Istanbul': 13.300000000000001, 'mumbai': 12.5}

wohingegen, wenn ich den Befehl verwendeprint population['Shanghai'] Ich bekomme den ersten Input von17.8.

Meine Frage an Sie ist, wie funktioniert das?17.8 und das13.3 wurde zu17.800000000000001 und13.300000000000001 beziehungsweise? Wie sind all diese Informationen entstanden? Und warum wird es dort gespeichert, da meine anfängliche Eingabe besagt, dass ich diese zusätzlichen Informationen nicht benötige, zumindest soweit ich weiß.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage