每月月供参考 = 贷款金额 * [月利率 * (1 + 月利率)^ 还款月数] / { [(1 + 月利率 ) ^ 还款月数 ] - 1}
还款总额 = 每月月供参考 * 期限 * 12
支付利息 = 还款总额 - 贷款金额
月利率 = 利率 / 12
商业贷款五年以上(含五年)利率为4.75%,五年以上的利率是4.90%
公积金贷款五年以下(含五年)利率为2.75%,五年以上利率为3.25%
第一种思路及代码(比较繁琐,啰嗦)
type = input("请输入您要选择的贷款类型:商业贷款请输入a 公积金贷款请输入b ")
money = int(input("请输入您要贷款的金额"))
year = int(input("请输入您要贷款的年限"))
month = year * 12
if type == "b" and year <=5:
yll = 0.0275/12
yg = money * (yll * (1 + yll) ** month) / ((1 + yll) ** month - 1)
print(f'您每月需要还款金额为:{yg}')
gross = yg * month
print(f'您的还款总额为:{gross}')
elif type == "b" and year > 5:
yll = 0.0325 / 12
yg = money * (yll * (1 + yll) ** month) / ((1 + yll) ** month - 1)
print(f'您每月需要还款金额为:{yg}')
gross = yg * month
print(f'您的还款总额为:{gross}')
if type == "a" and year <=5:
yll = 0.0475/12
yg = money * (yll * (1 + yll) ** month) / ((1 + yll) ** month - 1)
print(f'您每月需要还款金额为:{yg}')
gross = yg * month
print(f'您的还款总额为:{gross}')
elif type == "a" and year > 5:
yll = 0.049 / 12
yg = money * (yll * (1 + yll) ** month) / ((1 + yll) ** month - 1)
print(f'您每月需要还款金额为:{yg}')
gross = yg * month
print(f'您的还款总额为:{gross}')
if type != "a""b" or money < 0 or year < 0:
print("请您按照规范操作")
第二种思路比较轻便简介(看的同学的)
month=int(input("请输入还款月数"))
money=int(input("请输入贷款金额"))
year=int(input("请输入年限"))
print('''
# 商业贷款
F_BANK=0.0475 1
五年以下包括五年
F_bank=0.0490 2
五年以上
公积金贷款
loan=0.0275 3
五年以下包括五年
LOAN=0.0325 4
五年以上
''')
num=int(input("请输入贷款类型"))
# 商业贷款
F_BANK=0.0475
# 五年以下包括五年
F_bank=0.0490
# 五年以上
# 公积金贷款
loan=0.0275
# 五年以下包括五年
LOAN=0.0325
# 五年以上
if num==1:
bank=F_BANK
elif num ==2:
bank=F_bank
elif num==3:
bank=loan
else:
bank=LOAN
month_rate=bank/12
# 月利率
months=money*(month_rate*((1+month_rate)**month))/((1+month_rate)**month-1)
summoney=months*12*year
paymoney=summoney-money
print("每月月供为%d元,还款总额为%d元,支付利息为%d元"%(months,summoney,paymoney),end='\n')