使用bito生成等额本息计算器
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
遇到问题
在网上找了一下,没有找到太满意的等额本息计算器,于是想到要不按自己的需求,让AI帮自己实现。
向AI提问
提问
请用python编写一个等额本息计算器,可以自定义金额、利率、期限,使用json格式打印每月的还款额、利息,用中文回答
回答
好的,以下是用Python编写的等额本息计算器的代码示例,并使用JSON格式打印每月的还款额和利息:
import json
def calculate_equal_installment_loan(principal, interest_rate, tenure):
monthly_interest_rate = interest_rate / 12 / 100
num_payments = tenure * 12
# 计算每月还款额
monthly_payment = (principal * monthly_interest_rate) / (1 - (1 + monthly_interest_rate) ** -num_payments)
# 计算总还款额
total_payment = monthly_payment * num_payments
# 计算利息总额
total_interest = total_payment - principal
# 计算每月的还款额和利息
monthly_payments = []
for i in range(num_payments):
interest = principal * monthly_interest_rate
principal_payment = monthly_payment - interest
principal -= principal_payment
monthly_payments.append({'第{}月'.format(i+1): {'还款额': monthly_payment, '利息': interest}})
# 返回计算结果
return {
'每月还款额': monthly_payment,
'总还款额': total_payment,
'利息总额': total_interest,
'每月还款详情': monthly_payments
}
# 用户输入金额、利率和期限
principal = float(input("请输入贷款金额(元):"))
interest_rate = float(input("请输入年利率(%):"))
tenure = int(input("请输入贷款期限(年):"))
# 调用计算函数
result = calculate_equal_installment_loan(principal, interest_rate, tenure)
# 将结果以JSON格式打印出来
json_data = json.dumps(result, ensure_ascii=False, indent=4)
print(json_data)
用户可以根据提示输入贷款金额、年利率和贷款期限,程序将计算出每月还款额、总还款额、利息总额和每月的还款详情,并将结果以JSON格式打印出来。
希望对你有所帮助!
经过检验,上面代码可以直接使用。
结果如下:
E:\hhj\bygt\gz-ms\venv310\Scripts\python.exe E:/hhj/PycharmProjects/houjie.huang/tools/等额本息计算器2.py
请输入贷款金额(元):12000
请输入年利率(%):10
请输入贷款期限(年):2
{
"每月还款额": 553.7391160501996,
"总还款额": 13289.73878520479,
"利息总额": 1289.7387852047905,
"每月还款详情": [
{
"第1月": {
"还款额": 553.7391160501996,
"利息": 100.0
}
},
{
"第2月": {
"还款额": 553.7391160501996,
"利息": 96.21884069958168
}
},
{
"第3月": {
"还款额": 553.7391160501996,
"利息": 92.40617173832652
}
},
{
"第4月": {
"还款额": 553.7391160501996,
"利息": 88.56173053572758
}
},
{
"第5月": {
"还款额": 553.7391160501996,
"利息": 84.68525232310697
}
},
{
"第6月": {
"还款额": 553.7391160501996,
"利息": 80.7764701253812
}
},
{
"第7月": {
"还款额": 553.7391160501996,
"利息": 76.83511474267436
}
},
{
"第8月": {
"还款额": 553.7391160501996,
"利息": 72.86091473177834
}
},
{
"第9月": {
"还款额": 553.7391160501996,
"利息": 68.85359638745815
}
},
{
"第10月": {
"还款额": 553.7391160501996,
"利息": 64.81288372360197
}
},
{
"第11月": {
"还款额": 553.7391160501996,
"利息": 60.73849845421366
}
},
{
"第12月": {
"还款额": 553.7391160501996,
"利息": 56.630159974247114
}
},
{
"第13月": {
"还款额": 553.7391160501996,
"利息": 52.48758534028084
}
},
{
"第14月": {
"还款额": 553.7391160501996,
"利息": 48.31048925103152
}
},
{
"第15月": {
"还款额": 553.7391160501996,
"利息": 44.098584027705115
}
},
{
"第16月": {
"还款额": 553.7391160501996,
"利息": 39.85157959418432
}
},
{
"第17月": {
"还款额": 553.7391160501996,
"利息": 35.56918345705086
}
},
{
"第18月": {
"还款额": 553.7391160501996,
"利息": 31.25110068544129
}
},
{
"第19月": {
"还款额": 553.7391160501996,
"利息": 26.897033890734974
}
},
{
"第20月": {
"还款额": 553.7391160501996,
"利息": 22.50668320607277
}
},
{
"第21月": {
"还款额": 553.7391160501996,
"利息": 18.079746265705047
}
},
{
"第22月": {
"还款额": 553.7391160501996,
"利息": 13.61591818416759
}
},
{
"第23月": {
"还款额": 553.7391160501996,
"利息": 9.11489153528399
}
},
{
"第24月": {
"还款额": 553.7391160501996,
"利息": 4.5763563309930255
}
}
]
}
进程已结束,退出代码0
改进版本
提问
请用python编写一个等额本息计算器,可以通过变量自定义金额、利率、期限、还款开始日期,每一期的还款日都是27日,使用excel文件保存期次、每月的还款额、本金、利息、还款日期,金额四舍五入保留两位小数,用中文回答
回答
好的,以下是用Python编写的等额本息计算器的代码示例,可以通过变量自定义金额、利率、期限和还款开始日期,每一期的还款日都是27日,并将期次、每月的还款额、本金、利息和还款日期保存到Excel文件中,金额会四舍五入保留两位小数:
import pandas as pd
import datetime
def calculate_equal_installment_loan(principal, interest_rate, tenure, start_date):
monthly_interest_rate = interest_rate / 12 / 100
num_payments = tenure * 12
# 计算每月还款额
monthly_payment = (principal * monthly_interest_rate) / (1 - (1 + monthly_interest_rate) ** -num_payments)
monthly_payment = round(monthly_payment, 2)
# 创建日期列表
dates = [datetime.datetime(start_date.year, start_date.month, 27) + datetime.timedelta(days=30 * i) for i in range(num_payments)]
# 计算还款计划数据
repay_plan = []
for i in range(num_payments):
due_date = dates[i]
interest = round(principal * monthly_interest_rate, 2)
principal_payment = monthly_payment - interest
principal -= principal_payment
repay_plan.append({
'期次': i + 1,
'每月还款额': monthly_payment,
'本金': principal_payment,
'利息': interest,
'还款日期': due_date.strftime('%Y-%m-%d')
})
return repay_plan
# 用户输入金额、利率、期限和还款开始日期
principal = round(float(input("请输入贷款金额(元):")), 2)
interest_rate = float(input("请输入年利率(%):"))
tenure = int(input("请输入贷款期限(年):"))
start_date_str = input("请输入还款开始日期(YYYY-MM-DD):")
start_date = datetime.datetime.strptime(start_date_str, '%Y-%m-%d')
# 调用计算函数
repay_plan = calculate_equal_installment_loan(principal, interest_rate, tenure, start_date)
# 将还款计划保存到Excel文件
df = pd.DataFrame(repay_plan)
df.to_excel('repay_plan.xlsx', index=False)
print("还款计划已保存到 repay_plan.xlsx 文件。")
请确保安装了pandas库。运行代码后,将会生成一个名为 `repay_plan.xlsx` 的Excel文件,其中包含等额本息还款计划的数据,金额会四舍五入保留两位小数。
希望对你有所帮助!
可以使用,结果如下,但还款日期不符合我的逾期:
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |