Python 小练习 —— 循环法和对数法计算利息

Python 小练习 —— 循环法和对数法计算利息

需求

本金principal = 10000
利息intrest = 0.0325
目标2 * principal
多长时间可以本金翻倍(即本金达到目标值)

循环法算利息

代码如下:

import math

principal = 10000
INTEREST = 0.0325
TARGET = 2 * principal # 20000

# 循环法
year = 0
while principal < TARGET:
    year += 1
    principal *= (1 + INTEREST)
print(f"*** loop *** year: {year}, principal: {principal}")

运行结果如下:

*** loop *** year: 22, principal: 20210.698678761946

对数法算利息

计算过程如下:

# 对数法
'''
A: TARGET
r: INTEREST
P: principal
当前本金 + 利息 = P * ((1 + INTEREST) ** year)
A = 2 * P
2 * P = P * ((1 + INTEREST) ** year)
2 = (1 + INTEREST) ** year
ln(2) = ln((1 + INTEREST) ** year)
      = year * ln((1 + INTEREST))
year = ln(2) / ln(1 + INTEREST)
'''

代码如下:

import math

principal = 10000
INTEREST = 0.0325
TARGET = 2 * principal # 20000

# 对数法
year = math.log(2) / math.log(1 + INTEREST) # 需要 import math
print(f"*** log *** year:{year:.3f}")

运行结果如下:

*** log *** year:21.672

感谢浏览,一起学习!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值