После просмотра отзывов я обнаружил, что одной из проблем была моя
a**x = sum
, которую я удалил, и кто-то другой предложил мне использовать term = term*z**n/n
вместо term = (x*log*a)**n/n
Это то, что мой новыйфайл выглядит следующим образом:
from math import *
outFile = open("HW3out.txt", "a")
print("Problem 4 soln",file = outFile)
maxt = 100
tol = 1e-6
x = 3.14
a = 1.52
z = (x*log(a))
term = z
n = 1
sum = z
while abs(term) < tol and n < maxt:
n = n+1
term = term*z**n/n
sum = sum + term
diff = a**x - a
print("a^x", a**x, " Correct Value ", a, file = outFile)
print("x ", x, "n ", n, "term ", term, "diff ", diff, file = outFile)
outFile.close()
Я получил от моего outFile
Problem 4 soln
a^x 3.7238215950300577 Correct Value 1.52
x 3.14 n 1 term 1.314750451454701 diff 2.2038215950300577
, который я считаю правильным, так как программа наконец-то работает без ошибок