空のリストをに渡すときに、Noneではなく1を返そうとしていreduce(mul, a)
ます。私のコード:
from operator import mul
def product_list(a):
for b in a:
b = reduce(mul, a)
if b == None:
return 1
return b
print product_list([])
空白のリストをキャッチするためにifステートメントをどこに配置しても、出力としてNoneを受け取ります。私はまだ基本を学んでいますが、これは私には意味がありません。私も試しました
from operator import mul
def product_list(a):
if a == None:
return 1
else:
for b in a:
b = reduce(mul, a)
if b == None or a == None:
return 1
return b
print product_list([])
Noneをキャッチして1を返すかどうかを確認するだけです。reduce()は私が思うように動作しませんか、それとも1を返すことを禁止し、Noneを強制的に返すという明らかな間違いがコードにありますか?