Не возвращает total в терминал, так же не работает print. В чем проблема?
arr=[]
arr=input()
def summa(arr):
for x in arr:
total = 0
if x % 2 == 0:
total += x
print(total)
return total
как только не пробовал. return во все части пихал, если ставлю return к функции summa, то вообще пишет, что return за пределами функции. помогите, пожалуйста
Ответы (1 шт):
Автор решения: SwaD
→ Ссылка
У вас допущен ряд ошибок в коде
Что бы функция, которая была объявлена, отработала, ее надо вызвать
Для записи элементов в список используется метод append
input() возвращает всегда строку, для преобразования значения в число, необходимо использовать функцию int()
arr=[]
# Запускаем вечный цикл
while True:
# считываем значение и преобразуем в число
i = int(input())
# Если значение меньше 0 (я так захотел)
if i < 0:
break # Выходим из цикла
# Если не вышли, то добавляем в цикл
arr.append(i)
# Объявляем функцию
def summa(arr):
for x in arr:
total = 0
if x % 2 == 0:
total += x
print('t', total)
return total # Возврат результата работы функции
# Вызываем функцию, а результат сохраняем в переменную res
res = summa(arr)
# Печатаем результат работы функции
print('res', res)