我正在用python学习数学,当我尝试使用此代码进行对数运算时,它给了我这个错误,有什么帮助吗?
import math
n = 1000000
n2 = 0
for i in range(n):
x = math.log2(i)
n2 += x
print(n2)
它给我一个值错误: “ ValueError:数学域错误”
答案 0 :(得分:1)
范围(n)从0到n-1 但是未定义Log(0),因此应使用range(1,n)。
答案 1 :(得分:0)
您正在计算^[^/].*[^/]$
,即log2(0)
。因此,您会得到错误。尝试- inf
。
答案 2 :(得分:-2)
import math
n = 1000000
n2 = 0
for i in range(1,n):
x = math.log2(i)
n2 += x
print(n2)
快乐的编码!