Кодинг-марафон. Задача 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