from numpy import log as ln def present_amount(A0, p, n): return A0 * (1 + p / (360.0 * 100))**n def initial_amount(A, p, n): return A * (1 + p / (360.0*100))**(-n) def days(A0, A, p): return ln(A / A0) / ln(1 + p / (360.0 * 100)) def annual_rate(A0, A, n): return 360 * 100 * ((A / A0)**(1.0 / n) - 1) #What interest rate is needed to double an amount in 10 years? if __name__ == "__main__": A0 = 1; A = 2; n = 10 * 360 p = annual_rate(A0, A, n) print(f'The annual interest rate is {p:.1f}')