Запустите программу несколько раз для каждого . Что вы можете сказать о типе результата каждой из этих функций? Попытайтесь пояснить следующие результаты работы функции round: round(1.5) → 2; round(2.5) → 2; round(2.65, 1) → 2.6; round(2.75, 1) → 2.8. Обсудите этот вопрос в группе.
В программе из примера int(x) отбрасывает дробную часть в направлении нуля. Функция round(x) без второго аргумента округляет до ближайшего целого. Для данных примеров результаты таковы:
x |
round(x) |
int(x) |
|---|---|---|
| − |
− |
− |
| − |
− |
− |
Обе функции в этих вызовах возвращают значение типа int, хотя исходное x имеет тип float. Например, для отрицательного числа −
Если число лежит ровно посередине между двумя возможными результатами, Python выбирает чётный результат. Поэтому round( даёт round( тоже даёт хранится как приближённое двоичное вещественное число, немного меньше точного round( даёт x вызов round(x, возвращает float.
round(x): int(x): int; с числом знаков round возвращает float.
