2016-04-30 13 views
0

が報告されたエラーがValueError: math domain error計算しますとValueError:数学ドメインエラー

誰かがこれで間違っているものを私に示してもらえある2次元配列

import math 
result = 0 
data = [[0],[1],[1],[1],[0],[1],[1],[1]] 
for i in data: 
    result += (math.log(i[0], 2)) 

に数字を使用して計算を行うにしたいですコード?

+0

あなたは数学的に不可能である0の 'log'を取るしようとしています。 – AKS

+0

@AKS返事をありがとう。この場合、与えられた数はすべて非負である。 – Echo0831

+0

私の他のコメントを見てください。同じロジックが0に適用されます。 – AKS

答えて

1

log 0 is undefined. It's not a real number, because you can never get zero by raising anything to the power of anything else. You can never reach zero, you can only approach it using an infinitely large and negative power. 3.

>>> math.log(0) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ValueError: math domain error 
関連する問題