-3

因此,我想创建一个代码,在给定年利率、本金金额和月还款率的情况下,计算最低月还款额和余额。所需的输出是:

      Month: 1
      Minimum monthly payment: 168.52
      Remaining balance: 4111.89
      Month: 2
      Minimum monthly payment: 164.48
      Remaining balance: 4013.2

依此类推,直到第 12 个月。

我知道有一种方法可以在不定义函数的情况下做到这一点,但整个函数只是把我搞砸了,所以我想尝试一下。我目前的代码是 -

        a=0
        while a<=11:
            def min_mth_pay(balance,monthlyPaymentRate):
                x = balance * monthlyPaymentRate
                return x
            def balance(balance,min_mth_pay,annualInterestRate):
                y=(balance - min_mth_pay)*((annualInterestRate/12)+1)
                return y
            a +=1
            print('Month:' + str(a) + 'Minimum monthly payment:' + str(x) + 'Remaining balance:' + str('y'))  

我什至不确定我是否可以使用这种格式的函数?错误弹出说名称'x'未定义。在这里 Python 的真正新手显然会感谢任何澄清!:)

4

1 回答 1

2

您将定义函数与调用它们混淆了。您应该单独定义 then 函数,然后从循环中调用它们。

def min_mth_pay(balance,monthlyPaymentRate):
    x = balance * monthlyPaymentRate
    return x

def balance(balance,min_mth_pay,annualInterestRate):
    y=(balance - min_mth_pay)*((annualInterestRate/12)+1)
    return y


a=0
while a<=11:
    a +=1
    x = min_mth_pay(balance,monthlyPaymentRate)
    y = balance(balance,min_mth_pay,annualInterestRate)

    print('Month:' + str(a) + 'Minimum monthly payment:' + str(x) + 'Remaining balance:' + str(y)) 

请注意,您的代码中的 balance、monthlyPaymentRate、min_mth_pay 和 AnnualInterestRate 的来源尚不清楚。

于 2016-01-28T11:12:05.990 回答