def sum2(numbs): s = 0 for x in numbs: print(x) s += x return sdef sum3(numbs): s = 0 for x in numbs: print(x) s += x return slist1 = [1, 2, 3, 4, 5]函數(shù) sum2 結(jié)果如下:1234515而 sum3 如下所示:11sum3 只是更改了函數(shù)名稱,其他所有內(nèi)容都沒有更改。為什么結(jié)果不一樣?
3 回答

RISEBY
TA貢獻1856條經(jīng)驗 獲得超5個贊
return s處于循環(huán)中sum3。因此,循環(huán)只工作 1 次。
def sum3(numbs):
s = 0
for x in numbs:
print(x)
s += x
return s #This return must be outside of the loop

qq_遁去的一_1
TA貢獻1725條經(jīng)驗 獲得超8個贊
在 中sum3
,您擁有return
循環(huán)內(nèi)部。在 python 函數(shù)中,當(dāng)函數(shù)遇到返回時,它返回值并“退出”函數(shù)。這意味著您的第一個函數(shù)在退出之前循環(huán)遍歷整個范圍,而第二個函數(shù)只循環(huán)一次

慕桂英3389331
TA貢獻2036條經(jīng)驗 獲得超8個贊
“return s”的縮進是不同的。它現(xiàn)在發(fā)生在 for 循環(huán)內(nèi)。您必須取消縮進,以便在 for 循環(huán)結(jié)束后執(zhí)行此行。
添加回答
舉報
0/150
提交
取消