Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
3
Переписать функцию, используя идиоматический Python
Условие задачи
Функция foo(length: int) должна возвращать все чётные числа от 0 до length (включительно), учитывая знак передаваемого параметра: если length отрицателен, результат также должен быть отрицательным. Требуется оформить реализацию в «python‑стиле», применив list comprehension и повысив читаемость кода.
def foo(length: int = 10) -> list[int]:
result: list[int] = []
is_minus = length < 0
for i in range(abs(length)):
if not i % 2:
result.append(i if not is_minus else i * (-1))
return result
Перепишите данную функцию, используя возможности Python, такие как list comprehension, тернарные выражения и понятные имена переменных, чтобы код стал короче и легче воспринимался.