为什么我的迭代计数从2开始而不是1?

时间:2020-10-25 15:03:02

标签: python

我必须编写一个程序,显示抵押的总付款额和总金额。该问题假定在前12个月每月额外支付$ 1000。答案是在342个月内达到929,965.62美元。在343个月内,我得到的输出为$ 929,965.62。问题是我的代码从2开始计数,但是第一个数字正确。

principal = 500000.0
rate = 0.05
payment = 2684.11
total_paid = 0.0
extra_payment = 1000
payment_number = 1

while principal > 0 and payment_number <=12:
    principal = principal * (1+rate/12) - (payment + extra_payment)
    total_paid = total_paid + (payment + extra_payment)
    payment_number += 1
    print(payment_number, round(total_paid, 2))

else:
    while principal > 0:
        principal = principal * (1+rate/12) - payment
        total_paid = total_paid + payment
        payment_number += 1
        print(payment_number, round(total_paid, 2))

我不明白为什么上面的代码从2开始,下面的代码从1开始计数。

height = 100
bounce = 1
while bounce <= 10:
    height = height * (3/5)
    print(bounce, round(height, 4))
    bounce += 1

1 个答案:

答案 0 :(得分:0)

第一个示例是您print 之后,您增加了payment_number;第二个样本则相反。更改

payment_number += 1
print(payment_number, round(total_paid, 2))

print(payment_number, round(total_paid, 2))
payment_number += 1