為什么這樣,運行結果不對?幫忙看下~
def?square_of_sum(L): ????L=[] ????sum=0 ????for?x?in?L: ????????sum=sum+pow(x,2) ????return?sum print?square_of_sum([1,?2,?3,?4,?5]) print?square_of_sum([-5,?0,?5,?15,?25]
1.運行結果是:0,0
def?square_of_sum(L): ????for?x?in?L: ????????y=pow(x,2) ????return?sum(y) print?square_of_sum([1,?2,?3,?4,?5]) print?square_of_sum([-5,?0,?5,?15,?25])
2.這個運行錯誤,應該怎么改呢?
def?square_of_sum(L): ????for?x?in?L: ????return?sum(pow(x,2)) print?square_of_sum([1,?2,?3,?4,?5]) print?square_of_sum([-5,?0,?5,?15,?25])
3.這個也是運行錯誤,我查了下,for x in L:之后必須加內容,但是如何不加內容來表示x在L里呢?
2018-09-05
第一個是因為自建了一個局部變量 把傳入的L置空了 所以沒用
第二個調用sum函數,但是y是在for函數區間內定義的 出了for之外 就被刪除了 所以return一個不存在的變量必然出錯
第三個 因為for語句段落中沒有任何語句 這在python中是不可以的? 如果不添加語句 至少應該有一條pass才行
2018-09-05