リスト内のすべての整数の合計を返すプログラムを作成しようとしています(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]
@Oliverその場合だけではありません。 'len(l)'がゼロの場合もあります。 – khelwood