為什么sum=0寫的順序不一樣,結果還不通??
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])
和
def?square_of_sum(L): ????for?x?in?L: ?????sum?=?0 ????????sum?=?sum?+?x?*?x ????return?sum print?square_of_sum([1,?2,?3,?4,?5]) print?square_of_sum([-5,?0,?5,?15,?25])
結果是不一樣的?這個是什么規則?
2018-11-15
sum=0應該放在循環外作為這個變量初始化
2018-11-15
因為 第二種方式 你將sum=0放入for循環中,就相當于你每執行一次循環就會運行一遍sum=0.所以最后你第二種方式的前四次循環結果都為0,就只有5^2的結果