SUMMER OF '69: вернуть сумму чисел в массиве, за исключением игнорирования разделов чисел, начинающихся с 6 и продолжающихся до следующих 9 (за каждым 6 будет следовать по крайней мере один 9).Вернуть 0 без чисел.
summer_69([1, 3, 5]) --> 9
summer_69([4, 5, 6, 7, 8, 9]) --> 9
summer_69([2, 1, 6, 9, 11]) --> 14
Это проблема.Я пытался решить эту проблему с помощью нарезки списка, но не смог.Примечание: 9 может быть только после 6, а не до 6.
Вот моя логика: я нашел индекс 6 и присвоил его переменной, а переменную 9 и присвоил переменнойэто тоже.Остальные два условия выполняются, но условие с 9 не выполняется, что бы я ни пытался.
Вот код с моей стороны.Пожалуйста, извините за мои плохие навыки программирования.
def summer_69(arr):
if 6 not in arr:
return sum(arr)
elif 6 and 9 in arr:
i = arr.index(6)
y = arr.index(9)
sxy = sum(arr[i:y])
return sum(arr) - sxy
else:
i = arr.index(6)
return sum(arr[:i])
Для массива [4, 5, 6, 7, 8, 9] я получаю вывод 18.