Краткое описание: «Теперь напишите программу, которая рассчитывает минимальный фиксированный ежемесячный платеж, необходимый для погашения баланса кредитной карты в течение 12 месяцев».Где мой цикл идет не так?
В сущности, я сделал далеко, это код, который будет использовать базовую ценность (например, 10), забрать ее с баланса кредитной карты (с учетом процентов), а если общий количество месяцев, которое требуется для того, чтобы баланс оставался отрицательным (например, погашенным), превышает 12, он добавляет к «минме» (сумма, подлежащая выплате в месяц), до тех пор, пока количество месяцев не будет равно или ниже 12.
То, что происходит вместо этого, заключается в том, что теперь он подходит к этому и попадает в цикл и постоянно переходит в «другое», а не только делает это один раз, когда количество месяцев ниже 12. Чрезмерно долго для сообщения - http://pastebin.com/yruGDKiP
Где я иду не так? :/
balance = float(raw_input('Enter the outstanding balance on your creditcard: '))
interest = float(raw_input('Enter the annual credit card interest rate as a decimal: '))
startbalance = balance
minmonth = 1000
months = 0
monthlyinterest = interest/12
while(balance > 0):
balance = balance * (1 + monthlyinterest) - minmonth
months = months + 1
if(months > 12):
months = 0
minmonth = minmonth + 10
balance = startbalance
else:
print 'RESULT!'
print 'Total amount to pay per month would be'
print minmonth
print 'Total months to pay'
print months
Очевидно баланс стал отрицательным, прежде чем месяцев достигнет 12. Подумайте о логических операторов в коде. Изучите поток через время и, если. Это действительно то, что вы хотите? –
Вы задаете себе вопрос, используете ли вы алгоритм типа проб и ошибок? Не можете ли вы рассчитать ответ, используя математические формулы? –
Вам нужно подумать о том, как сделать свою домашнюю работу. Мы можем решить это, но вы узнаете больше, если вы сделаете это сами. Попробуйте пройти через программу в своем уме. Посмотрите, можете ли вы понять наблюдаемое поведение. –