Достаточно return n % 2 != 0. В Python при положительном делителе 2 остаток для целого числа равен 0 или 1, поэтому отдельная проверка на -1 не нужна.
Определение нечётности целого числа
Достаточно return n % 2 != 0. В Python при положительном делителе 2 остаток для целого числа равен 0 или 1, поэтому отдельная проверка на -1 не нужна.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Упростите функцию, которая проверяет, является ли переданное число нечётным.
def is_odd(n):
if n % 2 == 1:
return True
elif n % 2 == -1:
return True
else:
return False
Ответ
Достаточно return n % 2 != 0. В Python при положительном делителе 2 остаток для целого числа равен 0 или 1, поэтому отдельная проверка на -1 не нужна.
Короткая функция:
def is_odd(n):
return n % 2 != 0
Для 3 и -3 результат True, для 4, -4 и 0 — False. Сравнение уже возвращает bool, поэтому if/return True/False избыточны. Решение предполагает целочисленный вход; аннотация типа при её добавлении сама по себе не обеспечит проверку во время выполнения.