擅长:python、mysql、java
<p>正如其他人已经说过的,您必须更改while循环。此外,如果您不希望期末余额为负数,则应在<code>principle = payment - interest</code>行中添加机会</p>
<pre><code>price=2000
DOWN_PAYMENT_RATE = 0.1
INTEREST_RATE = 0.12
PAYMENT_RATE = 0.05
balance = price - (price * DOWN_PAYMENT_RATE)
payment = balance * PAYMENT_RATE
print("%0s%18s%13s%13s%12s%16s" % \
("Month", "Starting Balance", "Interest", "Principle", "Payment", "Ending Balance"))
count = 1
while balance>0:
interest = balance * INTEREST_RATE / 12
principle = min(payment - interest,balance)
endingBalance = balance - principle
print("%2d%14.2f%18.2f%13.2f%12.2f%12.2f" % \
(count, balance, interest, principle, payment, endingBalance))
balance = endingBalance
if balance > principle:
principle = principle
else:
principle = balance
count += 1
</code></pre>