for循环中的缩进错误

时间:2017-02-19 02:20:21

标签: python

问题是:

  

完成在number_list上循环的函数sum_of_over_fives,并将只有大于5的数字加到总数中。然后它应该返回总数。

def sum_of_over_fives(number_list):
       total = 0
       for number in number_list:
           number >5
             total += number
       return total

我收到“number> 5”行的缩进错误,但我觉得这条线路错了。

2 个答案:

答案 0 :(得分:0)

正如@Mitch和@StephenRauch指出的,你的逻辑很好,唯一的问题是你的缩进和number > 5应该是if statement

根据PEP 8文档,您必须确保此时indentation of your function body is 4 为8。

然后,唯一剩下的就是将if:放在number > 5上。这是您的最终代码,其中包含已更正的缩进和正确的if语句:

def sum_of_over_fives(number_list):
    total = 0
    for number in number_list:
        if number > 5:
            total += number
    return total

print(sum_of_over_fives([1,2,3,4,5,6,7]))
>>> 
13

但是像@a_guest所说,有一种更好的方法可以做你想做的事情。

我希望有帮助:)。

答案 1 :(得分:-2)

您可以使用内置插件filtersum

total = sum(filter(lambda x: x > 5, number_list))