import numpy as np
print("东南大学成贤学院概率队")
print("20224/4刘新宇大帅哥制")
flag=0
while flag==0:
r1=input("请输入公积金贷款年利率r1(0-1): ")
r2=input("请输入商业贷款年利率r2(0-1): ")
r1=float(r1)
r2=float(r2)
if (r1<0)|(r2<0):
print("利率不能为负数哦,但是利率可以大于1")
else :
flag=1
flag=0
x1=r1/12
x2=r2/12
print("公积金贷款月利率r1: ",x1)
print("公积金贷款月利率r1: ",x2)
while flag==0:
S=input("请输入面积:")
S=float(S)
if S<0:
print("面积要大于0")
else :
flag=1
flag=0
while flag==0:
R=input("请输入每平米的单价: ")
R=float(R)
if R<0:
print("每平米价格应该大于0")
else :
flag=1
flag=0
while flag==0:
p=input("请输入首付比例: ")
p=float(p)
if (p<0)|(p>1):
print("首付比例应该在0-1")
else :
flag=1
flag=0
while flag==0:
print("组合贷款中商业贷款和公积金贷款的期限需要一致")
N=input("货款期限月份(单位/月): ")
N=float(N)
if N<=0:
print("月份必须大于0")
else :
flag=1
flag=0
while flag==0:
q=input("请输入商业贷款占比为多少(0-1):")
q=float(q)
if (q<0)|(q>1):
print("商业贷款占比的范围为0-1")
else :
flag=1
flag=0
print("")
print("")
print("")
print("")
print("")
print("")
A=S*R*(1-p)*q #商业贷款金额
B=S*R*(1-p)*(1-q) #公积金贷款金额
Return_A = A*x1*np.power(1+x1,N)/(np.power(1+x1,N)-1) #商业贷款每月偿还金额
Return_B = B*x2*np.power(1+x2,N)/(np.power(1+x2,N)-1) #公积金贷款每月偿还金额
Return_Sum=Return_A+Return_B #贷款每月偿还的总金额
K_1="{:<18.2f}".format(S*R*(p))#首付款额为
K_2="{:<18.2f}".format(S*R*(1-p)) #贷款总额为
K_3="{:<18.2f}".format(A) #商业贷款为
K_4="{:<18.2f}".format(B) #公积金贷款为
K_5="{:<18.2f}".format(Return_Sum)#每个月总共还
K_6="{:<18.2f}".format(Return_A)#商业贷款每个月还
K_7="{:<18.2f}".format(Return_B)#公积金贷款每个月还
print("还款方式为等额本息 ")
print("首付款额为 :",K_1,"元")
print("贷款总额为 :",K_2,"元")
print("商业贷款为 :",K_3,"元")
print("公积金贷款为 :",K_4,"元")
print("每个月总共偿还 :",K_5,"元")
print("商业贷款每个月偿还 :",K_6,"元")
print("公积金贷款每个月偿还 :",K_7,"元")
S_0="{:<4}".format("期数")
S_1="{:<10}".format("商贷偿还利息/元")
S_2="{:<10}".format("商贷偿还本金/元")
S_3="{:<10}".format("商贷剩余本金/元")
S_4="{:<10}".format("公积金贷偿还利息/元")
S_5="{:<10}".format("公积金贷偿还本金/元")
S_6="{:<10}".format("公积金贷剩余本金/元")
S_7="{:<11}".format("该月总偿还利息/元")
S_8="{:<11}".format("该月总偿还本金/元")
S_9="{:<10}".format("总剩偿还本金/元")
print(S_0,S_1,S_2,S_3,S_4,S_5,S_6,S_7,S_8,S_9)
SY_LX=0.0 #商业贷款应还利息
SY_BJ=0 #商业贷款应还本金
SY_SY_BJ=A #商业贷款剩余本金
SY_Return=0
GJJ_LX=0.0 #公积金贷款利息
GJJ_BJ=0 #公积金贷款本金
GJJ_SY_BJ=B #公积金贷款剩余本金
GJJ_Return=0
for i in range(1, int(N) + 1):
SY_LX=SY_SY_BJ*x1 #商业贷款每个月应还的利息 = 每个月剩余的本金*月利息
SY_BJ=Return_A-SY_LX #商业贷款每个月应还的本金 = 商业贷款每月偿还金额 - 商业贷款每个月应还的利息
SY_SY_BJ=SY_SY_BJ-SY_BJ #商业贷款每个月剩余的本金 = 上个月剩余的本金 - 商业贷款每个月应还的本金
GJJ_LX=GJJ_SY_BJ*x2 #公积金贷款每个月应还的利息= 每个月剩余的本金*月利息
GJJ_BJ=Return_B-GJJ_LX #公积金贷款每个月应还的本金 = 公积金贷款每月偿还金额 - 公积金贷款每个月应还的利息
GJJ_SY_BJ=GJJ_SY_BJ-GJJ_BJ #公积金贷款每个月剩余的本金 = 上个月剩余的本金 - 公积金贷款每个月应还的本金
BJ_Sum=SY_BJ+GJJ_BJ #每个月总共应还的本金
LX_Sum=SY_LX+GJJ_LX #每个月总共应还的利息
BJ=GJJ_SY_BJ+SY_SY_BJ #每个月总共剩余的应还本金
A_0="{:<6}".format(i)
A_1="{:<21.2f}".format(SY_LX)
A_2="{:<18.2f}".format(SY_BJ)
A_3="{:<18.2f}".format(SY_SY_BJ)
A_4="{:<18.2f}".format(GJJ_LX)
A_5="{:<18.2f}".format(GJJ_BJ)
A_6="{:<18.2f}".format(GJJ_SY_BJ)
A_7="{:<18.2f}".format(LX_Sum)
A_8="{:<18.2f}".format(BJ_Sum)
A_9="{:<18.2f}".format(BJ)
print(A_0,A_1,A_2,A_3,A_4,A_5,A_6,A_7,A_8,A_9)
exit=input("按任意键退出 ")
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)