Кодинг-марафон. Задача 5.
Условие: Напишите функцию, которая находит наибольшее четное число в списке. Верните -1, если ничего не найдено. Использовать встроенные функции max()
и sorted()
— запрещено.
Пример:
largest_even([3, 7, 2, 1, 7, 9, 10, 13]) ➞ 10
Список для задачи: [0, 19, 18973623]
.
Приводим три варианта решения задачи:
def largest_even(lst): res = -1 for x in lst: if not x % 2 and x > res: res = x return res
def largest_even(r, n=-1): if not r: return n n = [n, r[0]][not r[0] & 1 and r[0] > n] return largest_even(r[1:], n)
def largest_even(lst): max=0 for i in lst: if i%2==0 and i>max: max=i if max==0: return -1 return max