问答详情
源自:9-2 Python定义函数

求解答,为什么输出的答案不对?

def square_of_sum(x):

    result = 0

    for M in x :

        y=[]

        y.append(M*M)

        

    result=sum(y)

    return result

print(square_of_sum([1, 2, 3, 4, 5]))

print(square_of_sum([-5, 0, 5, 15, 25]))



提问者:慕仔5249097 2023-04-22 10:26

个回答

  • 月夜妖华
    2023-04-23 21:25:25

    def square_of_sum(x):
       result = 0
       y = []
       
       for M in x:
           y.append(M * M)
       result = sum(y)

       return result


    print(square_of_sum([1, 2, 3, 4, 5]))

    print(square_of_sum([-5, 0, 5, 15, 25]))

    你把创建空列表放在循环外就正确了,如果循环一次就创建一个新的列表,那后面的列表会覆盖前面的列表,第一个列表最后一个元素是5,5的平方是25,你的代码运行结果就是这个。正确的答案是55

    翻译

    搜索

    复制

  • 慕仔5249097
    2023-04-22 10:27:45

    结果是25
    625