Ипотечный калькулятор - PullRequest
       3

Ипотечный калькулятор

0 голосов
/ 19 ноября 2018

Моя цель - создать ипотечный калькулятор на python.Я хочу, чтобы он подсчитал количество дней между сегодняшним днем ​​и фиксированным временем в будущем.Чтобы получить число дней или месяцев между двумя датами, которые я использую datetime, вы можете увидеть это в моем коде.Моя проблема в том, что я не могу выполнить операцию деления в течение количества дней, возвращаемых функцией datetime, потому что это неверный тип данных.Есть ли возможность изменить тип даты на целое?

import datetime
from datetime import date
import time


today=datetime.date.today()
d0=date(2021,11,29)
delta=d0-today
print(delta.days)

def diff_month(d1,d2,c1):
    if c1=="monthly":
         a=(d1.year - d2.year) * 12 + d1.month - d2.month
         instalment = 1000000 / a

         return (instalment)
    if c1=="daily":
         a=(d1-d2)
         instalment=1000000/a.days

         return (instalment)




# counter=diff_month(d0,today,"daily")
    #instalment=1000000/counter
    #print(type(counter))
    #print(instalment)
    print(diff_month(d0,today,"daily")) 

Заранее благодарим вас за редактирование: спасибо за советы, наконец-то я так и сделаю.Единственная проблема заключается в том, что ежемесячный платеж всегда равен, в действительности он не будет равен, потому что количество дней в каждом месяце не является постоянным, поэтому я бы предпочел использовать ежедневный платеж, а не ежемесячный.

1 Ответ

0 голосов
/ 19 ноября 2018

Некоторые предложения:

В строке:

instalment=1000000/counter

Вы ожидаете, что counter будет содержать количество дней.Однако diff_month возвращает количество месяцев, если c1 "ежемесячно".Почини это.заставить функцию возвращать количество дней во всех случаях.

Возвращаемое значение из diff_month имеет тип timedelta.Объекты этого типа имеют атрибут с именем days, который является целым числом, поэтому вы можете написать:

instalment=1000000/counter.days
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...