Привет Я использую словарь в Python хранения некоторых городов и их населения, как, что:Неожиданные с плавающей точкой представления в Python
population = { 'Shanghai' : 17.8, 'Istanbul' : 13.3, 'Karachi' : 13.0, 'mumbai' : 12.5 }
Теперь, если я использую команду print population
, я получаю результат:
{'Karachi': 13.0, 'Shanghai': 17.800000000000001, 'Istanbul': 13.300000000000001, 'mumbai': 12.5}
, тогда как если я использую команду print population['Shanghai']
, я получаю начальный ввод 17.8
.
Мой вопрос к вам, как 17.8
и 13.3
превратились в 17.800000000000001
и 13.300000000000001
соответственно? Как появилась вся эта информация? И почему он хранится там, так как мой первоначальный ввод означает, что мне не нужна эта дополнительная информация, по крайней мере, насколько я знаю.
Словарь не то, что неожиданно себя для вас. Вы просто столкнулись с номерами [Floating Point] (http://en.wikipedia.org/wiki/Floating_point). – MattH