我應該寫一個簡單的程序來執行以下操作:信用卡平衡運動在Python
採取以下輸入:
- 信用卡
- 年利率對未結算餘額作爲小數點
我應該打印固定的月付款和支付債務所需的月數(最多12個,也可能更少)。我也應該在最後打印餘額(可能是負數)。
我們應該假設根據月初(在該月付款前)餘額每月複利。每月付款必須是10美元的倍數,並且在所有月份中必須相同。由於此方案,餘額可能變爲負值。
所以,月利率= 年利率/ 12.0
更新,每月結餘= 舊的平衡*(1 +月利率) - 每月最低支付
現在,誰賦予這個問題的人提供了一個測試用例什麼是正確的程序:
>>>
Enter the outstanding balance: 1200
Enter annual interest rate: 0.18
RESULT
Monthly payment to pay off debt in 1 year: 120
Number of months needed: 11
Balance: -10.05
>>>
這是我寫的程序(我固定的輸入與上面相同,以查看是否程序工作,因爲它應該:
## ob = float (raw_input ("Enter the outstanding balance:"))
##accir = float(raw_input("Enter annual interest rate:"))
ob = float (1200)
mp = float (0)
n = float (0)
while rb >= 0:
rb = ob
mp += 10
n += 1
rb = (rb*(1 + (accir/12.0)**n) - n*mp)
print "Result:"
print "Monthly payment to pay off debt in one year:" , mp
print "Number of months needed:" , n
print "Balance:" , rb
似乎確定,但是當我運行它,我得到這個:
>>>
Result:
Monthly payment to pay off debt in one year: 110.0
Number of months needed: 11.0
Balance: - 10.0
>>>
這比起正確的輸出,我寫上面更早時略有不同。
對不起,寫亂了,我不知道如何編寫代碼在這個論壇。另外,請注意,我沒有完全按照我的要求編寫問題和程序,但大致相同。
問題是什麼?謝謝。
沒有回答這個問題,但我不確定你可以說'monthly_rate = annual_rate/12',因爲複利。例如。如果年利率是12%,我的債務是100美元,那麼我預計今年的利息是12美元。但如果每月增加1%的餘額(100 * 1.01^12)',則最終收益爲12.68美元。 – 2015-03-31 09:12:08
@TomDalton實際上,每月的收費就像我寫的一樣。問題集的作者提供了這些信息。 – user224530 2015-03-31 12:43:47
@ user224530我回滾到最後一個修訂版。如果您希望刪除此答案,請將其標記並告訴版主。 – Mailerdaimon 2015-04-02 06:13:09