Какой результат даст round(2.5)?

AЧисло 2, потому что Python округляет к ближайшему чётному при .5
BЧисло 3, потому что .5 по стандартным математическим правилам округляется вверх
CЧисло 2.0 типа float, потому что round() сохраняет тип float
DБудет исключение ValueError, потому что round() не работает с .5
Правильный ответ. Python использует банковское округление: при .5 число округляется к ближайшему чётному.

Разбор

В Python round() при равноудалённом значении (.5) округляет к ближайшему чётному числу. Поэтому round(2.5) даёт 2 (чётное), а round(3.5) даёт 4 (тоже чётное). Это банковское округление — оно уменьшает систематическую ошибку при многократном округлении. Математическое правило «всегда вверх» в Python не используется.

Проверь себя · 1/3разбор после ответа
Пусть выполнено a = [1, 2] и b = [1, 2]. Какие значения дадут выражения a == b и a is b?
Тренировать Python в Telegram

Ещё вопросы по теме «Синтаксис и типы данных»