Python Logarithm, Ошибка значения: ошибка математического домена - PullRequest
0 голосов
/ 16 сентября 2018

Я изучаю математику с python, когда я попробовал этот код для логарифма, это дает мне эту ошибку, любая помощь?

import math
n = 1000000
n2 = 0
for i in range(n):
    x = math.log2(i)
    n2 += x
print(n2)

это дает мне ошибку значения: "ValueError: ошибка математического домена"

Ответы [ 3 ]

0 голосов
/ 16 сентября 2018

Вы рассчитываете log2(0), что составляет - inf.Следовательно, вы получаете ошибку.Попробуйте range(1,n).

0 голосов
/ 16 сентября 2018
import math
n = 1000000
n2 = 0
for i in range(1,n):
    x = math.log2(i)
    n2 += x
print(n2)

счастливого кодирования!

0 голосов
/ 16 сентября 2018

Диапазон (n) от 0 до n-1 Но Log (0) не определен, поэтому используйте диапазон (1, n).

...