Этот вопрос / решение привело меня к другому связанному вопросу, задаваемому здесь - Помощь будет принята с благодарностью!
Обновлен текущий код ниже на основе первоначальной обратной связи
Я новичок в Python (это моя вторая программа).В настоящее время я использую Open Courseware от MIT, чтобы получить введение в CS с использованием Python Academic Earth videos , и я работаю над набором задач 1 Просмотреть можно здесь .Я создал эту программу, которая успешно воссоздает «Контрольный пример 1» в течение 12 месяцев (исключая раздел «результаты» ... все еще работаю над этим), но мой вопрос в том, насколько эффективен следующий (мой) код?Я чувствую, что повторяю это, когда в этом нет необходимости.:
Оригинальный код:
balance = float(raw_input("Outstanding Balance: "))
interestRate = float(raw_input("Interest Rate: "))
minPayRate = float(raw_input("Minimum Monthly Payment Rate: "))
interestPaid = round((interestRate/12.0)*balance, 2)
minPayment = round(minPayRate*balance, 2)
principalPaid = round(minPayment-interestPaid, 2)
remainingBalance = round(balance-principalPaid, 2)
month = 1
while month < 12 :
if month > 1 :
balance = remainingBalance
interestPaid = round((interestRate/12.0)*balance, 2)
minPayment = round(minPayRate*balance, 2)
principalPaid = round(minPayment-interestPaid, 2)
remainingBalance = round(balance-principalPaid , 2)
month = month+1
print 'Month: ' + str(month)
print 'Minimum monthly payment: ' + str(minPayment)
print 'Principle paid: ' + str(principalPaid)
print 'Remaining balance: ' + str(remainingBalance)
Текущий код
balance = float(raw_input("Outstanding Balance: "))
interestRate = float(raw_input("Interest Rate: "))
minPayRate = float(raw_input("Minimum Monthly Payment Rate: "))
for month in xrange(1, 12+1):
interestPaid = round(interestRate / 12.0 * balance, 2)
minPayment = round(minPayRate * balance, 2)
principalPaid = round(minPayment - interestPaid, 2)
remainingBalance = round(balance - principalPaid, 2)
print 'Month: %d' % (month,)
print 'Minimum monthly payment: %.2f' % (minPayment,)
print 'Principle paid: %.2f' % (principalPaid,)
print 'Remaining balance: %.2f' % (remainingBalance,)
balance = remainingBalance
Если вы видите что-то еще в этом новомкод, дайте мне знать!
Большое спасибо тем, кто помог мне получить это далеко.