Я пытаюсь написать функцию python, которая суммирует все элементы в списке вплоть до первого четного числа. Функция должна пройти следующие испытания:Функция, которая суммирует все элементы в списке до, но не включает первое четное число
from test import testEqual
testEqual(sum_of_initial_odds([1,3,1,4,3,8]), 5)
testEqual(sum_of_initial_odds([6,1,3,5,7]), 0)
testEqual(sum_of_initial_odds([1, -7, 10, 23]), -6)
testEqual(sum_of_initial_odds(range(1,555,2)), 76729)
Я попытался следующие:
import random
lst = []
def sum_of_initial_odds(nums):
sum = 0
#test if element is odd number - if it's odd, add it to the previous integer
for i in lst:
if i % 2 != 0:
sum = sum + i
return sum
#test if element is even number - if it's even, don't include it and break code
else:
if i % 2 == 0:
break:
В настоящее время я получаю ошибку синтаксического анализа:
ParseError: bad input on line 11
, который является строка:
else:
Как еще я могу написать thi s, чтобы он добавлял элементы в список, но не включает в себя первое четное число, не получая ошибки Parse?
'возвратного sum' отступ неправильно, как' перерыв: '(который, пока мы на нем, не должен иметь двоеточие). – jonrsharpe
Я попытался дважды отодвинуть отступ на четыре пробела, оба раза я получил тот же результат. – HappyHands31
Ему нужно больше, не меньше. – jonrsharpe