这个图片具体的代码步骤

img

参考代码

def monthlyPayment(principal, year_rate, year_duration):
    monthly_rate = year_rate / (12 * 100)  # 将4.9转换为0.049,并转换为月利率
    month_amounts = year_duration * 12

    # 每月月供
    monthly_payment = (principal * monthly_rate * (1 + monthly_rate) ** month_amounts) / (
            (1 + monthly_rate) ** month_amounts - 1)
    # 总利息
    total_interest_payable = monthly_payment * month_amounts - principal
    print('-----------------------------------')
    print('应付利息总额为 %.2f ' % total_interest_payable)

    for i in range(1, month_amounts + 1):
        # 每月应还利息
        monthly_interest_payable = principal * monthly_rate * (
                (1 + monthly_rate) ** month_amounts - (1 + monthly_rate) ** (i - 1)) / (
                                           (1 + monthly_rate) ** month_amounts - 1)
        # 每月应还本金
        monthly_principal_payable = principal * monthly_rate * (1 + monthly_rate) ** (i - 1) / (
                (1 + monthly_rate) ** month_amounts - 1)
        # 每月利息占比
        monthly_interest_percentage = monthly_interest_payable * 100 / monthly_payment

        print('-----------------------------------')
        print(f'{i} 月付款 : {round(monthly_payment, 2)} (每月应还利息: {round(monthly_interest_payable, 2)}  每月应还本金: {round(monthly_principal_payable, 2)})')
        print(f'{i} 月利息占比 {monthly_interest_percentage}')

    return


if __name__ == '__main__':
    principal = int(input('请输入您的贷款金额:'))
    year_rate = float(input('请输入年度债务利率:(输入 4.9就是 4.9%)'))
    year_duration = int(input('请输入债务年度期限:'))
    monthlyPayment(principal, year_rate, year_duration)

有帮助请采纳,有问题继续交流,你的采纳是对我回答的最大的肯定和动力