ln (натуральный лог) в Python
В этом задании я выполнил все задачи, кроме этой. Я должен создать скрипт Python для решения уравнения (скриншот).
К сожалению, в моих исследованиях по всему интернету я не могу понять, как в мире конвертировать ln в лог, что-нибудь пригодное для использования, или что-нибудь еще. Код, который я написал до сих пор, приведен ниже. Я также опубликую ответ, который наш учитель сказал, что мы должны получить.
import math
p = 100
r = 0.06 / 12
FV = 4000
n = str(ln * ((1 + (FV * r) / p) / (ln * (1 + r))))
print ("Number of periods = " + str(n))
Ответ, который я должен получить, - 36.55539635919235. Любые ваши советы или помощь будут с благодарностью!
Также мы не используем NumPy. Я уже пытался это сделать.
Спасибо!
1 ответ
math.log
натуральный логарифм:
math.log (x [, base]) С одним аргументом возвращает натуральный логарифм x (в основание e).
Ваше уравнение поэтому:
n = math.log((1 + (FV * r) / p) / math.log(1 + r)))
Обратите внимание, что в вашем коде вы конвертируете n в str
дважды, что не нужно
Вот правильная реализация с использованием numpy (np.log()
это натуральный логарифм)
import numpy as np
p = 100
r = 0.06 / 12
FV = 4000
n = np.log(1 + FV * r/ p) / np.log(1 + r)
print ("Number of periods = " + str(n))
Выход:
Number of periods = 36.55539635919235