div2 возвращает True для чётного целого числа и False для нечётного. if выполняет свою ветку только при True. Конкретный результат зависит от value, которое в фрагменте не задано.
Определение чётности целого числа
div2 возвращает True для чётного целого числа и False для нечётного. if выполняет свою ветку только при True. Конкретный результат зависит от value, которое в фрагменте не задано.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Какой результат будет у функции, проверяющей чётность входного значения? Функция объявлена так:
def div2(num: int) -> bool:
return num % 2 == 0
if div2(value):
...
Опишите, что будет возвращено при вызове div2 и как работает условный оператор, использующий её результат.
Ответ
div2 возвращает True для чётного целого числа и False для нечётного. if выполняет свою ветку только при True. Конкретный результат зависит от value, которое в фрагменте не задано.
Остаток num % 2 равен нулю у чисел, делящихся на 2 без остатка:
print(div2(4)) # True
print(div2(5)) # False
print(div2(0)) # True
print(div2(-6)) # True
Аннотация num: int сама не проверяет тип во время исполнения. Если запустить исходный фрагмент без определения value, возникнет NameError ещё до вызова функции. Значение возвращается как bool, а не печатается самой div2.