Simulez des dommages-intérêts tardifs pour les frais de garde d'enfants en souffrance avec Python

# Y aura-t-il des dommages de retard aux frais de garde d'enfants? Puisque les frais de garde d'enfants sont des réclamations pécuniaires, ** des dommages tardifs surviendront **.

Article 419

  1. En cas de défaut d'obligation à des fins de paiement monétaire, le montant de l'indemnisation des dommages est déterminé par le taux d'intérêt légal. Toutefois, si le taux d'intérêt contracté dépasse le taux d'intérêt légal, le taux d'intérêt contracté sera appliqué.
  2. En ce qui concerne l'indemnisation des dommages prévue au paragraphe précédent, le créancier n'a pas à prouver le dommage.
  3. Le débiteur ne peut se défendre contre l'indemnisation des dommages prévue au paragraphe (1) avec force inévitable. https://ja.wikibooks.org/wiki/%E6%B0%91%E6%B3%95%E7%AC%AC419%E6%9D%A1

Colonne d'Ai «Dois-je payer les frais de garde d'enfants si je n'ai pas de revenu? ?? 』\

image.png

Sakiri a insisté sur le fait que ** vous ne pouvez pas payer sans cela parce que vous payez en fonction de vos revenus **. Vous êtes libre de faire une réclamation, mais sachez que ** votre réclamation n'expirera pas ** et ** vous encourrez des dommages de retard **. Soit dit en passant, puisque les frais de garde sont généralement payés mensuellement, il semble qu'il s'agira d'une ** demande de prestations à durée déterminée **. Recueillons correctement les créances monétaires! ** Pour le sourire d'un enfant **.

Quel est le taux d'intérêt légal?

Jusqu'au 31 mars 2020, le maximum est de 5% par an s'il n'y a pas d'entente. (Avant révision) À partir du 1er avril 2020, s'il n'y a pas d'accord, le maximum est de 3% par an. (Après révision)

Article 404 Sauf indication contraire pour les créances portant intérêt, le taux d'intérêt est de cinq minutes par an. https://ja.wikibooks.org/wiki/%E6%B0%91%E6%B3%95%E7%AC%AC404%E6%9D%A1

Sur la loi de révision partielle du Code civil (Révision de la loi sur le crédit) http://www.moj.go.jp/MINJI/minji06_001070000.html

Comment calculer?

## Organisez les informations dont vous avez besoin Taux d'intérêt: 5% par an jusqu'au 31 mars 2020, 3% par an à partir du 1er avril 2020 Nombre de jours dans une année: normalement 365 jours, 366 jours dans une année humide Date de début: le lendemain de la date d'échéance du paiement Période de retard: combien d'années et de jours sont retardés, y compris la date de début

Essayez de calculer avec une calculatrice

Simulons le cas où Sakiri n'a pas payé les frais de garde d'enfants de 30000 yens fin janvier 2018!

① Tout d'abord, je vais vous interroger sur la situation.

image.png

(2) Je vous écouterai patiemment, bien que je vous jure.

image.png

③ Si vous supportez ce que vous voulez dire et écoutez l'histoire, vous menacerez de tuer votre enfant.

Comme prévu, c'est dangereux, je vais donc changer de joueur. image.png

④ Après avoir fini l'appel avec le criminel menaçant, j'irai à la police le lendemain de ma nuit sans sommeil avec peur et anxiété de pouvoir venir tuer mon enfant.

⑤ Le temps a passé ... Le 29e anniversaire de Sakiri, j'essaye soudain de calculer les dommages tardifs.

Maintenant, calculons les dommages tardifs dans ce cas.

Date de calcul: 17 mai 2020 Taux d'intérêt: 5% par an jusqu'au 31 mars 2020, 3% par an à partir du 1er avril 2020 Nombre de jours dans une année: normalement 365 jours, 366 jours dans une année humide Date de début: 1 février 2018 Délai: 2 ans (1er février 2018 au 31 janvier 2020) et 107 jours (1er février 2020 au 17 mai 2020)

Un petit point inquiétant

### 1. Si le taux d'intérêt légal change au milieu, lequel de 5% et 3% sera appliqué? → La date de début étant le 1er février 2018, 5% suffisent. (peut être) > En cas de défaut de créance à des fins de paiement pécuniaire, le montant de l'indemnisation des dommages est déterminé par le taux d'intérêt légal au moment où le débiteur était responsable du retard. Toutefois, si le taux d'intérêt contracté dépasse le taux d'intérêt légal, le taux d'intérêt contracté sera appliqué.

Avocat Rainy After Sunny Blog: Article 419 du Code civil (Dispositions spéciales pour la dette monétaire) Note d'étude sur la modification du Code civil 64 ** http://blog.livedoor.jp/kosekeito/archives/minpou419jou.html

2. Comment calculez-vous lorsqu'une année humide est incluse?

① Du 1er février 2018 au 31 janvier 2020, 30000 yens x 0,05 x 2 ans = 3000 yens ② Du 1er février 2020 au 12 mai 2020, 30000 yens x 0,05 ÷ 366 jours x 107 jours = 438 yens (arrondi vers le bas) ③ 3000 yens + 438 yens = 3438 yens

Lorsque le nom et l'enregistrement de la dette (dans le cas d'une hypothèque racine, le contrat) ne comprend pas de contrat spécial concernant l'année de l'infraction (1) L'intérêt annuel est calculé pour la période qui est calculée à partir de la date de début et qui remplit l'année. (2) Ensuite, la période inférieure à un an est calculée quotidiennement. ③ Additionnez ensuite ① et ②.

** Calcul des intérêts et dommages-intérêts ** https://www.courts.go.jp/okayama/saiban/tetuzuki/s11_2/index.html

Calculons avec python!

Faisons cela avec python!

sakiri_kids_money_delinquent_charge_simulator.py

sakiri_kids_money_delinquent_charge_simulator.py


# coding: utf-8
import calendar
import datetime
import math
from dateutil.relativedelta import relativedelta

#Date de calcul
calculation_date = datetime.date(2020, 5, 17) # Sakiri's 29th birthday

#Frais de garde d'enfants
kids_money = 30000

#Date de début
start_date = datetime.date(2018, 2, 1)

#Intérêt annuel
#À compter du 1er avril 2020, le taux d'intérêt annuel statutaire est de 3%
APY = 0.05 if start_date < datetime.date(2020, 4, 1) else 0.03

#Des années de retard
#Le delta relatif est décalé d'un jour car il est calculé sans inclure la date de début spécifiée.
years = relativedelta(calculation_date, start_date + datetime.timedelta(days=-1)).years

#Date de début quotidienne
prorated_start_date = (start_date + relativedelta(years=years))

#Journées quotidiennes
days = (calculation_date - prorated_start_date).days + 1

#La période au prorata comprend-elle une année humide?
is_leap_year_calculation_date = calendar.isleap(calculation_date.year)
is_leap_year_prorated_start_date = calendar.isleap(prorated_start_date.year)
is_leap_year = is_leap_year_calculation_date or is_leap_year_prorated_start_date

#La période au prorata s'étend-elle sur plusieurs années?
is_cross_year = prorated_start_date.year != calculation_date.year

#Calcul des dommages tardifs
delinquent_charge_year = math.floor(kids_money * APY * years) #Dommages différés (année)
delinquent_charge_days = 0
prorated_days = 0
calculation_days = 0
if is_leap_year and is_cross_year:
    #Il y a un an de gonflement, il y a un chevauchement

    #Calculez l'année de la date de début au prorata
    # 2021/1/1 - 2020/12/31 = 1
    prorated_days = (datetime.date(prorated_start_date.year + 1, 1, 1) - prorated_start_date).days
    delinquent_charge_days_prorated = math.floor(kids_money * APY / (366 if is_leap_year_prorated_start_date else 365) * prorated_days)

    #Année de début de la date de calcul
    # 2020/1/1 - 2020/1/1 + 1 = 1
    calculation_days = (calculation_date - datetime.date(calculation_date.year, 1, 1)).days + 1
    delinquent_charge_days_calculation = math.floor(kids_money * APY / (366 if is_leap_year_calculation_date else 365) * calculation_days)

    #Dommages différés (quotidiennement)
    delinquent_charge_days = delinquent_charge_days_prorated + delinquent_charge_days_calculation
else:
    #Aucune année de passage
    delinquent_charge_days = math.floor(kids_money * APY / (366 if is_leap_year else 365) * days)

#Dommages retardés (total)
delinquent_charge = delinquent_charge_year + delinquent_charge_days

#afficher
print("Date de calcul: " + calculation_date.strftime('%Y/%m/%d'))
print("Date de début: " + start_date.strftime('%Y/%m/%d'))
print("Intérêt annuel: " + str(APY))
print("Date de début quotidienne: " + prorated_start_date.strftime('%Y/%m/%d'))
print("Des années de retard: " + str(years))
print("Journées quotidiennes: " + str(days))
print("La période au prorata comprend-elle une année humide?: " +("Oui" if is_leap_year else "Non"))
print("Chevauchez-vous des années pendant la période au prorata?: " +("Oui" if is_cross_year else "Non"))
print("Dommages différés (année): " + str(delinquent_charge_year) + "Cercle")
print("Dommages différés (quotidiennement): " + str(delinquent_charge_days) + "Cercle")
print("Dommages retardés (total): " + str(delinquent_charge) + "Cercle")

if is_leap_year and is_cross_year:
    print("==Panne==")
    print("Nombre de jours à la date de début au prorata: " + str(prorated_days))
    print("Est-ce une année où la date de début au prorata est élevée?: " +("Oui" if is_leap_year_prorated_start_date else "Non"))
    print("Dommages différés pour l'année de la date de début au prorata: " + str(delinquent_charge_days_prorated) + "Cercle")
    print("Nombre de jours de calcul: " + str(calculation_days))
    print("La date de calcul est-elle un an?: " +("Oui" if is_leap_year_calculation_date else "Non"))
    print("Dommages différés pour l'année de la date de calcul: " + str(delinquent_charge_days_calculation) + "Cercle")
    print("==========")

Faisons le!

https://paiza.io/projects/k33PBLmUxXW2Zyg-UYvMRg

Date de calcul: 2020/05/17
Date de début: 2018/02/01
Intérêt annuel: 0.05
Date de début quotidienne: 2020/02/01
Des années de retard: 2
Journées quotidiennes: 107
La période au prorata comprend-elle une année humide?:Oui
Chevauchez-vous des années pendant la période au prorata?:Non
Dommages différés (année):3000 yens
Dommages différés (quotidiennement):438 yens
Dommages retardés (total):3438 yens

Le reste est OK si vous en faites une fonction et le tournez! !!

sakiri_kids_money_delinquent_charge_simulator_custom.py

sakiri_kids_money_delinquent_charge_simulator_custom.py


# coding: utf-8
import calendar
import datetime
import math
from dateutil.relativedelta import relativedelta

def sakiri_delinquent_charge(calculation_date, kids_money, start_date, print_enabled):
    #Intérêt annuel
    #À compter du 1er avril 2020, le taux d'intérêt annuel statutaire est de 3%
    APY = 0.05 if start_date < datetime.date(2020, 4, 1) else 0.03

    #Des années de retard
    #Le delta relatif est décalé d'un jour car il est calculé sans inclure la date de début spécifiée.
    years = relativedelta(calculation_date, start_date + datetime.timedelta(days=-1)).years

    #Date de début quotidienne
    prorated_start_date = (start_date + relativedelta(years=years))

    #Journées quotidiennes
    days = (calculation_date - prorated_start_date).days + 1

    #La période au prorata comprend-elle une année humide?
    is_leap_year_calculation_date = calendar.isleap(calculation_date.year)
    is_leap_year_prorated_start_date = calendar.isleap(prorated_start_date.year)
    is_leap_year = is_leap_year_calculation_date or is_leap_year_prorated_start_date

    #La période au prorata s'étend-elle sur plusieurs années?
    is_cross_year = prorated_start_date.year != calculation_date.year

    #Calcul des dommages tardifs
    delinquent_charge_year = math.floor(kids_money * APY * years) #Dommages différés (année)
    delinquent_charge_days = 0
    prorated_days = 0
    calculation_days = 0
    if is_leap_year and is_cross_year:
        #Il y a un an de gonflement, il y a un chevauchement

        #Calculez l'année de la date de début au prorata
        # 2021/1/1 - 2020/12/31 = 1
        prorated_days = (datetime.date(prorated_start_date.year + 1, 1, 1) - prorated_start_date).days
        delinquent_charge_days_prorated = math.floor(kids_money * APY / (366 if is_leap_year_prorated_start_date else 365) * prorated_days)

        #Année de début de la date de calcul
        # 2020/1/1 - 2020/1/1 + 1 = 1
        calculation_days = (calculation_date - datetime.date(calculation_date.year, 1, 1)).days + 1
        delinquent_charge_days_calculation = math.floor(kids_money * APY / (366 if is_leap_year_calculation_date else 365) * calculation_days)

        #Dommages différés (quotidiennement)
        delinquent_charge_days = delinquent_charge_days_prorated + delinquent_charge_days_calculation
    else:
        #Aucune année de passage
        delinquent_charge_days = math.floor(kids_money * APY / (366 if is_leap_year else 365) * days)

    #Dommages retardés (total)
    delinquent_charge = delinquent_charge_year + delinquent_charge_days

    #afficher
    if print_enabled :
        print("************************************************************")
        title_month = (next_month + relativedelta(months=-1)).strftime('%Y année%m mois')
        print(title_month + "Calculez les dommages de retard des frais de garde pour la minute ...")
        print("Date de calcul: " + calculation_date.strftime('%Y/%m/%d'))
        print("Date de début: " + start_date.strftime('%Y/%m/%d'))
        print("Intérêt annuel: " + str(APY))
        print("Date de début quotidienne: " + prorated_start_date.strftime('%Y/%m/%d'))
        print("Des années de retard: " + str(years))
        print("Journées quotidiennes: " + str(days))
        print("La période au prorata comprend-elle une année humide?: " +("Oui" if is_leap_year else "Non"))
        print("Chevauchez-vous des années pendant la période au prorata?: " +("Oui" if is_cross_year else "Non"))
        print("Dommages différés (année): " + str(delinquent_charge_year) + "Cercle")
        print("Dommages différés (quotidiennement): " + str(delinquent_charge_days) + "Cercle")
        print("Dommages retardés (total): " + str(delinquent_charge) + "Cercle")

        if is_leap_year and is_cross_year:
            print("==Panne==")
            print("Nombre de jours à la date de début au prorata: " + str(prorated_days))
            print("Est-ce une année où la date de début au prorata est élevée?: " +("Oui" if is_leap_year_prorated_start_date else "Non"))
            print("Dommages différés pour l'année de la date de début au prorata: " + str(delinquent_charge_days_prorated) + "Cercle")
            print("Nombre de jours de calcul: " + str(calculation_days))
            print("La date de calcul est-elle un an?: " +("Oui" if is_leap_year_calculation_date else "Non"))
            print("Dommages différés pour l'année de la date de calcul: " + str(delinquent_charge_days_calculation) + "Cercle")
            print("==========")

    return delinquent_charge



#Date de calcul
calculation_date = datetime.date(2020, 5, 17) # Sakiri's 29th birthday
#Frais de garde d'enfants
kids_money = 30000
#Date de début
start_date = datetime.date(2018, 2, 1)

total = 0
next_month = start_date
array = []
while True:
    # print_Afficher les détails si activé est défini sur True
    delinquent_charge = sakiri_delinquent_charge(calculation_date, kids_money, next_month, print_enabled=False)
    total += delinquent_charge
    title_month = (next_month + relativedelta(months=-1)).strftime('%Y année%m mois')
    array.append({'key':title_month, 'value':delinquent_charge})
    next_month = next_month + relativedelta(months=1)
    if next_month > calculation_date:
        break

#afficher
print("************************************************************")

print("Total des dommages tardifs: " + str(total) + "Cercle")

print("<Liste des dommages mensuels tardifs>")
for data in array:
    print(data['key'], data['value'],'Cercle')

print("************************************************************")

Faisons le! !!

https://paiza.io/projects/mItcWZUwE8EpUfIl74VotQ?language=python3

************************************************************
Total des dommages tardifs:49027 yens
<Liste des dommages mensuels tardifs>
Janvier 2018 3438 yens
Février 2018 3319 yens
Mars 2018 3192 yens
Avril 2018 3069 yens
Mai 2018 2944 yens
Juin 2018 2821 yens
Juillet 2018 2693 yens
Août 2018 2566 yens
Septembre 2018 2443 yens
Octobre 2018 2315 yens
Novembre 2018 2192 yens
Décembre 2018 2065 yens
Janvier 2019 1938 yens
Février 2019 1819 yens
Mars 2019 1692 yens
Avril 2019 1569 yens
Mai 2019 1444 yens
Juin 2019 1321 yens
Juillet 2019 1193 yens
Août 2019 1066 yens
Septembre 2019 943 yens
Octobre 2019 815 yens
Novembre 2019 692 yens
Décembre 2019565 yens
Janvier 2020 438 yens
Février 2020 319 yens
Mars 2020 115 yens
Avril 2020 41 yens
************************************************************

Vous pouvez réclamer des dommages-intérêts tardifs! Tu l'as fait! Tae-chan!

image.png

Tâche

En affaires, le flotteur vaut le bilan. Veuillez vous référer au site suivant et le mettre à jour afin qu'il puisse être calculé avec précision à l'aide du module Decimal!

[Python] Calculer avec précision les montants monétaires en incluant un petit nombre (en utilisant le module décimal) --YoheiM .NET https://www.yoheim.net/blog.php?q=20170805

Je ne correspondrai pas aux réponses.

Recommended Posts

Simulez des dommages-intérêts tardifs pour les frais de garde d'enfants en souffrance avec Python
Récapitulatif des outils d'exploitation de l'interface graphique Windows avec Python
Prise en charge de l'environnement d'exécution Python 2.7 sur AWS Lambda (à partir de 2020.1)
Prise en charge de Fabric pour Python 3
Créer un compte enfant de connect with Stripe en Python
[Pour les débutants] Résumé de l'entrée standard en Python (avec explication)
Première simulation de cellule nerveuse avec NEURON + Python
Résumé de la prise en charge des opérations de hachage (dictionnaire) pour Ruby et Python
Système de support de présentation avec Python3
J'ai essayé de simuler la probabilité d'un jeu de bingo avec Python
Tourner un tableau de chaînes avec une instruction for (Python3)
J'ai créé beaucoup de fichiers pour la connexion RDP avec Python
L'histoire de la création d'un pilote standard pour db avec python.
J'ai essayé de corriger "J'ai essayé la simulation probabiliste du jeu de bingo avec Python"
[Jouons avec Python] Viser la génération automatique de phrases ~ Achèvement de la génération automatique de phrases ~
Premiers pas avec Python pour les classes PHPer
Premiers pas avec Python Bases de Python
Jeu de vie avec Python! (Le jeu de la vie de Conway)
10 fonctions du "langage avec batterie" python
4ème nuit de boucle avec pour
Essayez la simulation de contrôle de fréquence avec Python
Implémentation de la méthode Dyxtra par python
Premiers pas avec python3
Coexistence de Python2 et 3 avec CircleCI (1.0)
Premiers pas avec Python pour les fonctions PHPer
Enregistrement de l'introduction de Python pour les nouveaux arrivants
Etude de base d'OpenCV avec Python
Utile au quotidien!? Semi-automatisation de la méthode de planification expérimentale la plus puissante de COSPA avec Python
J'ai mesuré la vitesse de la notation d'inclusion de liste, pendant et pendant avec python2.7.
Explication de la création d'une application pour afficher des images et dessiner avec Python
Bases du traitement d'images binarisées par Python
[Exemple d'amélioration de Python] Apprentissage de Python avec Codecademy
INSÉRER dans MySQL avec Python [Pour les débutants]
Grattage WEB avec Python (pour mémo personnel)
Enregistrement SSH manuel pour coreserver avec python
Mémo pour demander des KPI avec python
Amplifiez les images pour l'apprentissage automatique avec Python
Exécuter le script Python avec TS-220 cron
Conseils pour gérer les binaires en Python
Résumé de diverses instructions for en Python
Obstrué par la mise à jour Python de la console GCP ①
Introduction facile de la reconnaissance vocale avec Python
Conseils pour utiliser python + caffe avec TSUBAME
[Shakyo] Rencontre avec Python pour l'apprentissage automatique
Traiter plusieurs listes avec for en Python
[Python / PyRoom Acoustics] Simulation acoustique de pièce avec Python
Premiers pas avec Python pour PHPer-Super Basics
UnicodeEncodeError lutte avec la sortie standard de python3
La troisième nuit de la boucle avec pour
Pandas du débutant, par le débutant, pour le débutant [Python]
déboguer la connexion mysql avec python mysql.connector
1. Statistiques apprises avec Python 1-3. Calcul de diverses statistiques (statistiques)
[Python] Lire des images avec OpenCV (pour les débutants)
Dessin avec Matrix-Reinventor of Python Image Processing-
Recommandation d'Altair! Visualisation des données avec Python
Résumé des techniques utiles de Scrapy en Python
Création WebApi avec Python (création CRUD) Pour les débutants
La deuxième nuit de la boucle avec pour
Préparation au grattage au python [Saveur chocolat]
Comparaison de la vitesse de transposition de la matrice par Python