1,sum=0移到for x in L:下面可以嗎?最后兩行代碼什么意思,不懂注釋就是問題 , 還有像這樣參數只有一個默認參數可以嗎?
1 回答
已采納

清波
TA貢獻165條經驗 獲得超90個贊
第一個問題:
sum 的初始化賦值,不能放到 for 下面, 因為放進去的話,每次循環都會給 sum 重新賦值成0, 則不能求 列表的平方和了。
最后兩句 是調用了 square_of_sum() 函數,并且打印其結果。
第二個問題:
關于 Python 函數的 參數的問題, 其實和大多數語言的參數差不多, 有很多種,我就不展開詳細講了, 只說最常見的兩種, 其他的可以找專門的文章看。
def?fn(a,b=3): ????print?a ????print?b ???? fn(2,3) ##?輸出 2 3 ##?解釋,上面這個函數有兩個參數,?其中第一個?a?就是?位置參數,?而第二個b=3?則是?關鍵字參數,?這兩種參數的 ##?區別一,就是?如上面所寫,一個只有參數名,另外一個則是?"參數名=值"。 ##?區別二,?位置參數不可以省略,?關鍵字參數可以省略,如下 fn(4) ##?輸出 4 3 ##?最后關于你的疑問,?為什么位置參數賦值了,?還可以在?調用的時候賦其他的值,?這個情況可以想象成,?函數定義 ##?時的賦值?是個默認值,如果我們?調用傳參的時候不給關鍵字參數?傳參,則調用默認;傳參,則調用傳的值。? ##?最后的問題,?只有一個默認參數(關鍵字參數)是可以的。 ##?關鍵字參數的調用傳參?是可以直接傳值,而不是必須寫成?"參數名=值"?格式,如下: fn(7,8) ##?輸出 7 8????##這個就是關鍵字參數
添加回答
舉報
0/150
提交
取消