我想做一個程序,返回列表中所有整數的總和,大於n或等於n。例如,Python - 列表中的整數的總和(遞歸)
>>>floorSum([1,3,2,5,7,1,2,8], 4)
20
這裏是我想出了代碼:
def floorSum(l,n):
if len(l)>0:
if l[0]<n:
floorSum(l[1:],n)
else:
s=l[0]+floorSum(l[1:],n)
return s
我越來越:UnboundLocalError: local variable 's' referenced before assignment.
任何想法?
有些路徑通過您的函數不會將任何內容分配給's'。在這些情況下,函數應該返回什麼? – khelwood
@ khelwood是正確的。具體來說,如果'l [0]
@奧利弗不僅僅是這種情況。 'len(l)'爲零的情況也是如此。 – khelwood