def?square_of_sum(L):
????sum=0
????for?x?in?L:
????????sum=sum+x*x
????????return?sum
print?square_of_sum([1,?2,?3,?4,?5])
print?square_of_sum([-5,?0,?5,?15,?25])答案是 1 ? 25
3 回答

清波
TA貢獻165條經驗 獲得超90個贊
題主的問題特別的典型,尤其是對于初學Python的人來說, 正確的代碼如下:
def?square_of_sum(L): ????sum=0 ????for?x?in?L: ????????sum=sum+x*x ????return?sum
return 語句放到 for 循環外面,由這個問題我多說一下,關于基礎知識的看法:
所有基礎知識的學習馬虎不得,為什么這么說? 就拿這個問題舉例吧,題主是沒有弄清楚 Python 的縮進,所以學到函數 循環了,還會出這樣的問題,還得在mooc 猿問提問,建立問題,寫有代碼格式的題干,等待解題者的回答,最常見的情況就是被人指出: 嗨,縮進不對。 嗯,那么下次呢,以后遇到解構更加復雜的問題怎么辦呢?說到底,就是縮進這個Python 基礎沒有掌握牢靠。這樣的情況會在以后的情況遇到更多(學的越深,不是基礎的知識點也沉淀為基礎了),然后就會出現“XX很難”的論調,歸根結底沒什么“商用的”知識是 難的,就看基礎學的扎實與否了。

慕田峪2730464
TA貢獻1條經驗 獲得超0個贊
??for?x?in?L: ????????sum=sum+x*x ????????return?sum 改成: ?for?x?in?L: ????????sum=sum+x*x ?return?sum 就是沒有縮進的原因
添加回答
舉報
0/150
提交
取消