코드는 balance = 3926을 제외하고 올바른 결과를 제공합니다. 최소 지불액 : 370인데 비해 360 일 것입니다. 프로그램은 연간 이자율에 대한 최소 월간 지불액을 인쇄해야합니다. 초기 잔액이 주어지면 코드는 연말에 잔액을 계산해야합니다. 매월 10 달러를 지불하면서 초기 잔액을 시험하고 있습니다. 연말에 잔액이 남아있는 경우 잔액을 초기 잔액으로 재설정하고 10 달러를 인상하는 코드를 작성한 다음 (동일한 코드를 사용하여!) 잔액을 계산하기 위해 다시 시도하십시오! 이 새로운 지불 값이 문제는 당신이 다시 반복하지 않을 것을 관심 루프 (당신이 while(month <= 12)
으로 가지고있는) 새로운 지불을하려고 할 때마다 통해 충분히오른쪽 출력이 올바르지 않습니다 ... 논리가 올바르지 않습니다.
annualInterestRate = 0.2
balance = 3926
monthlyinterestrate = annualInterestRate/12.0
remainingBalance = balance
month = 1
total = 0
payment = 10
def CheckMinimumPayment(payment,balance):
"Checking if payment is in correct balance"
while(payment*12 < balance):
payment += 10
return payment
payment = CheckMinimumPayment(payment,balance)
while(month <= 12):
remainingBalance = remainingBalance - payment + (annualInterestRate/12.0) * (remainingBalance - payment)
month += 1
total += payment
payment = CheckMinimumPayment(payment,total+remainingBalance)
print("Lowest Payment: " + str(payment))
* 왜 *가 360이 맞지 않습니까? 계산은 어떻게 되나요? 당신은 우리를 위해 그것을 해결할 수 있습니까? –
게시 할 때 코드 블록 ("{}"버튼)에 코드를 입력하십시오. 나는 너를 대신해 그것을 고칠 두 번째 인물이다. – n00dle
프로그램에 따라 대답은 370이지만 360이어야합니다. – user1437027