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
Другие вопросы по тегам