Функция, генерирующая чётные числа до заданного предела

Используйте range(0, n, 2) и преобразуйте его в список. Правая граница n не включается, поэтому для 10 получится [0, 2, 4, 6, 8].

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

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

Используйте range(0, n, 2) и преобразуйте его в список. Правая граница n не включается, поэтому для 10 получится [0, 2, 4, 6, 8].

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

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

Условие

Создайте функцию, которая принимает целое число n и возвращает список всех чётных чисел, начиная с 0 и заканчивая числом, меньшим n. Например, при входном значении 10 функция должна вернуть 0, 2, 4, 6, 8.

Ответ

Используйте range(0, n, 2) и преобразуйте его в список. Правая граница n не включается, поэтому для 10 получится [0, 2, 4, 6, 8].

Реализация:

def even_numbers(n: int) -> list[int]:
    return list(range(0, n, 2))

Для n <= 0 результат пустой. Время и память пропорциональны числу возвращаемых элементов, то есть O(n) при положительном n. Если полный список не нужен, можно вернуть сам range: он хранит параметры последовательности компактно. По условию требуется именно список, поэтому здесь создаём его явно.

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

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

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

Подробнее