2015-03-01 2 views
1

Изучение теста ... это может быть вопрос, но я застрял и не могу понять, что я делаю неправильно.Вычислить сумму положительных чисел в списке в Python

def theSum(aList): 
s=0 
    for x in aList: 
     if x>0: 
     s+=x 
return theSum 
+0

Предполагая, что 'S' определяют вне функции? – Harpal

+0

Кроме того, вы возвращаете 'thesum', который не определен в функции, и отступ для переменных 'thesum' и 'S' неверен – Harpal

+0

Я отредактировал его ... s начнется с 0. Итак, если у меня есть список [ -1,1, -2,2] ответ, который я хочу вычислить, - 3 ... 2 + 1. –

ответ

3

Ваша логика кажется правильной, но в вашем коде есть пара отступов и переменных ошибок.

Вместо функции возвращения себя, вы должны вернуть s:

def theSum(aList): 
    s = 0 
    for x in aList: 
     if x > 0: 
      s = s + x 
    return s 

>>> print theSum([-1, 1, -2, 2]) 
3