我是一个初学者PYTHON程序员,我正在编写一些代码,但它不起作用...你能帮我找到我的错误并纠正它吗?
这是我到目前为止的代码:
balance=int(raw_input("Enter the outstanding balance on your credit card: "))
annualInterestRate=float(raw_input("Enter the annual credit card interest rate as a decimal: "))
monthlyPaymentRate=float(raw_input("Enter the monthly payment rate as a decimal"))
monthInterestRate = annualInterestRate / 12
monthlyPayment = monthlyPaymentRate*balance
newBalance= (balance-monthlyPayment) * (1 + monthInterestRate) #newBalance is updated balance
month=0
while month<12:
month += 1
monthlyPayment = (monthlyPaymentRate*balance)
newBalance=(balance-monthlyPayment)*(1 + monthInterestRate)
newBalance = balance
print("Month: " + str(month))
print("Minimum monthly payment: " + str(monthlyPayment))
print("Remaining balance: " + str(newBalance))
猜测,问题出在 newBalance = balance
,即丢弃您在前一行上不断进行的计算并将其替换为原始余额。 但是当你没有说出你看到的"错误"时,很难确定。
balance = int(raw_input("Enter the outstanding balance on your credit card: "))
annualInterestRate = float(raw_input("Enter the annual credit card interest rate as a decimal: "))
monthlyPaymentRate = float(raw_input("Enter the monthly payment rate as a decimal: "))
month = 0
while month<12:
monthlyPayment = (monthlyPaymentRate)*(balance)
unpaidBalance = (balance)-(monthlyPayment)
interest = ((annualInterestRate)/(12.0)) *(unpaidBalance)
updatedBalance = (unpaidBalance)+(interest)
month +=1
balance = updatedBalance
print ('Month: '+ str(month))
print ('Minimum monthly payment:' + str(round(monthlyPayment,2)))
print ('Remaining Balance after one year: ' + str(round(updatedBalance,2)))