Python打印显示

时间:2016-06-02 03:34:33

标签: python-3.x

我正在解决这个项目我正在工作的问题。我的问题是,在我的显示列表的末尾,我得到一个负数,所以我想知道是否有人可以给我任何方向来解决这个问题?我需要它为零。

InitalPrice = float(input("Enter the Price of the Computer: "))
Month = 0
DownPayment = InitalPrice * .10
Balance = (InitalPrice - DownPayment)
AnInterest = Balance * .01 / 12
MonthlyPayment = Balance * 0.05 

print("%0s%20s%20s%20s%13s%23s" %("Month", "Current Balance", "Interest 
Owed", "Principal Owed", "Payment", "Balance Remaining"))


for i in range(1, 100): 
    #AnInterest = AnInterest
    if Balance >= 0:
        InitalPrice = InitalPrice - InitalPrice * .10 

        Principal = MonthlyPayment - AnInterest
        Balance = Balance + AnInterest - MonthlyPayment
        print("%0d%20.2f%20.3f%20.2f%13.2f%23.2f" %(i, InitalPrice, AnInterest, Principal, MonthlyPayment, Balance))

1 个答案:

答案 0 :(得分:0)

您将减去常数金额作为MonthlyPayment(即余额的10%)。如果余额加上利息小于那个MonthlyPayment那么余额变为负数。你只需要做一个简单的检查,看看情况并非如此。

P.S。我建议只使用while循环来解决这个问题,因为for循环可以迭代太多次,也可能没有多次。