Выводить только числа, кратные трём

Представленная функция уже возвращает только числа, кратные трём: условие num % 3 == 0 проверяет нулевой остаток. При n=10 результат [0, 3, 6, 9].

Короткий ответ

Что ответить на собеседовании

Представленная функция уже возвращает только числа, кратные трём: условие num % 3 == 0 проверяет нулевой остаток. При n=10 результат [0, 3, 6, 9].

Подробный разбор

Ответ с пояснениями

Условие

Необходимо изменить функцию так, чтобы она возвращала исключительно те числа, которые делятся на 3 без остатка.

def get_divisible_by_three(n: int = 10) -> list[int]:
    return [num for num in range(n) if num % 3 == 0]

Ответ

Представленная функция уже возвращает только числа, кратные трём: условие num % 3 == 0 проверяет нулевой остаток. При n=10 результат [0, 3, 6, 9].

Можно упростить перебор, сразу задав шаг:

def get_divisible_by_three(n: int = 10) -> list[int]:
    return list(range(0, n, 3))

Для неотрицательной верхней границы результат совпадает с исходным comprehension. При n<=0 оба варианта возвращают пустой список. Ноль включается, поскольку делится на 3 без остатка; если требуются только положительные числа, начните с 3. Верхняя граница n не включается.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее