Я должен написать простую программу, чтобы сделать следующее:Кредитные карты баланс упражнения в 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
>>>
Что по сравнению с правильным выходом я писал ранее выше, немного отличается.
Извините за беспорядочную запись, я не знаю, как писать код на этом форуме. Кроме того, обратите внимание, что я не писал вопрос и программы точно так же, как и у меня, но более или менее одинаковый.
В чем проблема? Благодарю.
Не отвечая на вопрос, но я не уверен, что вы можете сказать 'month_rate = annual_rate/12' из-за сложного интереса. Например. Если годовая ставка составляла 12%, а мой долг составлял 100 долларов США, то я ожидал, что годовой процент составит 12 долларов. но если вы добавите 1% к балансу в месяц '(100 * 1.01^12)', вы получите процент от $ 12.68. –
@TomDalton Фактически ежемесячная ставка, как я ее написал. Авторы этой проблемы предоставляют эту информацию. – user224530
@ user224530 Я вернулся к последней ревизии. Если вы хотите, чтобы этот ответ был удален, отметьте его и сообщите модератору. – Mailerdaimon