Краткое примечание: округление в Python может не всегда работать должным образом.Действуйте с осторожностью.
Я думаю, что функция round(number[, ndigits])
здесь самая простая.В вашем случае кажется, что вы всегда хотите округлить до 5 знаков после запятой.Мы можем принудительно указать это в возвращаемом значении:
def population_density(population, area):
calc = (population/area)
return(round(calc, 5))
В качестве альтернативы, вы можете указать количество цифр для округления по различным причинам.Мы можем сделать это с помощью нового параметра, round_
:
def population_density(population, area, round_):
calc = (population/area)
return(round(calc, round_))
Подробнее о round()
можно прочитать здесь: https://docs.python.org/3/library/functions.html#round
Как вы увидите в документации,когда значение округляется так, как вы этого не ожидаете,
Это не ошибка: это результат того факта, что большинство десятичных дробей не может быть представлено точно как число с плавающей запятой.