【Python习题】房贷计算器

题目内容

已知不同贷款类型的利率是不同的:

商业贷款:五年及以下的贷款利率是4.75%,五年以上是4.90%

公积金贷款:五年及以下的贷款利率是2.75%,五年以上是3.25%

要求按用户选择的贷款类型(商业贷款、公积金贷款、组合贷款),通过贷款金额(万)、期限(年)、利率(%)计算得出每月月供参考(元)、支付利息(元)、还款总额(元)。

个人解法

'''
每月还款额 = 贷款本金 * [月利率 * (1 + 月利率) ** 还款月数] / {[(1 + 月利率) ** 还款月数] - 1}
还款总额 = 每月应还金额 * 还款月数
支付利息 = 还款总额 - 贷款金额
'''

loan_type = input("请选择贷款类型:1.商贷 2.公贷 3.组合贷\n")
loan_amount = float(input("请输入贷款金额(万)\n"))
term = int(input("请选择期限(年):5、10、15、20、25\n"))

def judge(term):
    if term in {5, 10, 15, 20, 25}:
        return True
    else:
        print("警告:您未按照标准期限进行输入!")

def calc(term_rate):
    month_rate = term_rate / 12
    month_pay = (loan_amount * 10000) * (month_rate * ((1 + month_rate) ** (term * 12))) / (((1 + month_rate) ** (term * 12)) - 1)
    total_pay = month_pay * (term * 12)
    interest = total_pay - (loan_amount * 10000)
    print("每月月供参考(元):{:.2f}元".format(month_pay))
    print("支付利息(元):{:.2f}元".format(interest))
    print("还款总额(元):{:.2f}元".format(total_pay))

if loan_type in ('1', '2', '3'):
    if loan_type == '1':
        judge(term)
        if term <= 5:
            calc(4.75 / 100)
        else:
            calc(2.75 / 100)
    elif loan_type == '2':
        judge(term)
        if term <= 5:
            calc(2.75 / 100)
        else:
            calc(3.25 / 100)
    else:
        print("暂未开放!")
else:
    print("重新输入!")

运行结果

【Python习题】房贷计算器_第1张图片

本人拙作,请大佬们点评。

你可能感兴趣的:(Python习题,python)