функция, которая принимает список целых чисел и возвращает True, если все числа в списке четные, в противном случае он возвращает False python

Почему программа работает некорректно?

def all_even(lst):
    for i in range(len(lst)):
        if i % 2 != 0:
            return False
    return True

Ответы (3 шт):

Автор решения: Huskey

Потому что, если функция получает список(массив [412,53,5146,61]), то в for нужно прописать другое, а не range(len(lst)):

def all_even(lst):
    count = 0 
    for i in lst: 
        if i % 2 == 0:
            if (count != int(len(lst))):
                count+=1
            else if (count==int(len(lst))):
                return True
        else:
            return False
            break
all_even(lst)

Вроде должно заработать

→ Ссылка
Автор решения: MBo

Чтобы проверять числа из списка, а не индексы - сделайте или так:

for i in lst:
    if i % 2 != 0:

или так

for i in range(len(lst)):
    if lst[i] % 2 != 0:
→ Ссылка
Автор решения: asd192

Сравните со своим и всё поймете.

def all_even(lst):
    for i in lst:
        if i % 2 == 0:
            result = True
        else:
            result = False
            break
    return result
→ Ссылка