Я сделал этот портфельный проект в курсе информатики Codecademy
Цели проекта:
- Создайте терминальную программу, используя Python
- Добавьте хотя бы одну интерактивную функцию, используя
вход()
- Используйте управление версией GIT
- Используйте командную строку и навигацию файлов
- Напишите техническое сообщение в блоге о проекте
Я решил создать ипотечный калькулятор. Это не так весело, но довольно полезно.
Функциональность терминальной программы
Возьмите ввод пользователя:
- Программа продолжительности кредита
- Сумма кредита
- Процентная ставка в год
Реализация ипотеки
Выход:
- Общая ежемесячная оплата
- Общая сумма процентов выплачивается
- Всего платежей N-Months
- Показать таблицу ежемесячной амортизации.
Работа над проектом состоит из трех частей:
- Проект мозговой штурм
- Изучение предметной области
- Реализация программы
Проект был реализован в двух версиях. С пакетами Python и без него.
В Первая версия Я использую numpy_financial 1.0.0 Пакет. Он содержит набор элементарных финансовых функций. В частности, функция PMT (), которая вычисляет платеж против основной суммы кредита плюс проценты (ежемесячный ипотечный платеж). А также ipmt () и ppmt (). Процентная часть ежемесячного платежа и оплата за счет кредита. Эти две функции возвращают массив процентов/основной части оплаты за каждый месяц.
Общая оплата состоит из оплаты против основной суммы плюс проценты.
PMT + IPMT
Вторая версия использует ипотечную формулу для расчета ежемесячного платежа.
Код состоит из трех частей:
- Часть переменных
- Функции часть
- Выходная часть
В части функций у нас есть Paideverymonth (интерес, месяцы, заимствованные):
def paidEveryMonth(interestRate, months, borrowed): #fixed monthly payment return (borrowed * true_rate * ((true_rate + 1)**months)) / ((true_rate + 1)**months - 1)#Mortgage formula
Есть логика функции ипотеки:
def fullReport (total_pem, заимствованные) Функциональные формы ежемесячной таблицы амортизации.
def fullReport(total_pem, borrowed): print("||||||||||||||||||||||||||||||||||||||||") print("MONTH -> P&I " + "= PRINCIPAL + INTEREST| PRINCIPAL REMAINING") fmt = '{0:2d} -> {4:8.2f} = {1:8.2f} + {2:8.2f} | {3:8.2f}' # Format our table for index in range(1, months + 1): #for every month interest = borrowed * interestRate / 12 #interest to the end of the month principal = total_pem - interest #principal repayment borrowed -= principal #balance print(fmt.format(index, principal, interest, borrowed, total_pem))
Ссылка на мой код на GitHub Анкет
Оригинал: “https://dev.to/zibiv/mortgage-calculator-python-mif”