文子末
2017-01-15 17:00
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])) 请问哪里错了呢?
同楼上
IDLE提示list对象不可调用
把L(i)改成L[i]就对了
用小括号的时候,L被当作一个函数了,而L在这是个list,所以不可调用
用中括号可以获取list的元素
参考回答见http://stackoverflow.com/questions/18758186/typeerror-list-object-is-not-callable
def sum_of_square(seq): return sum([i**2 for i in seq]) #是不是会好看一点
是不是这个
sum += L(i)*L(i)
sum += L[i]*L[i]
L = [1, 2, 3, 4, 5] # len(L)=5 # range(len(L)) = [0, 1, 2, 3, 4]
初识Python
758520 学习 · 8667 问题