Наибольшее четное число

Кодинг-марафон. Задача 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
Прокрутить вверх