问答详情
源自:7-3 Python之编写函数

for i in range(len(L)): 请问哪里错了呢?


def square_of_sum(L):
    sum = 0
    for i in range(len(L)):
        sum += L(i)*L(i)
    return sum   
print (square_of_sum([1, 2, 3, 4, 5]))

请问哪里错了呢?


提问者:文子末 2017-01-15 17:00

个回答

  • 钺箜
    2017-01-15 20:34:52
    已采纳

    同楼上

    IDLE提示list对象不可调用

    把L(i)改成L[i]就对了

    用小括号的时候,L被当作一个函数了,而L在这是个list,所以不可调用

    用中括号可以获取list的元素

    参考回答见http://stackoverflow.com/questions/18758186/typeerror-list-object-is-not-callable

    http://img.mukewang.com/587b6bd60001fc8103610286.jpg

  • nax_am
    2017-07-10 12:27:19

    def sum_of_square(seq):
        return sum([i**2 for i in seq])
        
    #是不是会好看一点


  • 慕粉1801356042
    2017-01-15 17:25:18

    是不是这个

    sum += L(i)*L(i)

    sum += L[i]*L[i]

  • 刹那无间
    2017-01-15 17:14:30

    L = [1, 2, 3, 4, 5] 
    # len(L)=5 
    # range(len(L)) = [0, 1, 2, 3, 4]