Python ile Basit ve Bileşik Faiz Hesaplamaları

İlgili youtube videosu bağlantısı: www.youtube.com/watch?v=W32ucriP0PY

Video içerisinde hazırlanan kodlar dört başlık altında aşağıda çıktıları ile birlikte paylaşılmıştır.

 

Basit Faiz Tablosu

#Getiri = Ana Para * Getiri Oranı * Dönem Sayısı

import pandas as pd

def basit_faiz_tablosu_hesapla(anapara, getiri_orani, donem_sayisi):
    data = {'Dönem': [], 'Birikimli Tutar': []}

    for donem in range(toplam_donem + 1):
        kazanc = anapara * getiri_orani * donem
        toplam_tutar = anapara + kazanc
        data['Dönem'].append(donem)
        data['Birikimli Tutar'].append(toplam_tutar)

    df = pd.DataFrame(data)
    return df

anapara = float(input("Lütfen anapara tutarını yazın: "))
getiri_orani = float(input("Lütfen aylık faiz oranını yazın: "))
donem_sayisi = int(input("Lütfen toplam dönem sayısını yazın: "))

basit_faiz_tablosu = basit_faiz_tablosu_hesapla(anapara, getiri_orani, donem_sayisi)
print(basit_faiz_tablosu.to_string(index=False))

Çıktısı:

Lütfen anapara tutarını giriniz: 100000
Lütfen aylık faiz oranını giriniz: 0.05
Lütfen toplam dönem sayısını giriniz: 120
 Dönem  Birikimli Tutar
     0        100000.00
     1        105000.00
     2        110000.00
     3        115000.00
     4        120000.00
     5        125000.00
     6        130000.00
     7        135000.00
     8        140000.00
     9        145000.00
    10        150000.00
    11        155000.00
    12        160000.00
    13        165000.00
    14        170000.00
    15        175000.00
    16        180000.00
    17        185000.00
    18        190000.00
    19        195000.00
    20        200000.00
    21        205000.00
    22        210000.00
    23        215000.00
    24        220000.00
    25        225000.00
    26        230000.00
    27        235000.00
    28        240000.00
    29        245000.00
    30        250000.00
    31        255000.00
    32        260000.00
    33        265000.00
    34        270000.00
    35        275000.00
    36        280000.00
    37        285000.00
    38        290000.00
    39        295000.00
    40        300000.00
    41        305000.00
    42        310000.00
    43        315000.00
    44        320000.00
    45        325000.00
    46        330000.00
    47        335000.00
    48        340000.00
    49        345000.00
    50        350000.00
    51        355000.00
    52        360000.00
    53        365000.00
    54        370000.00
    55        375000.00
    56        380000.00
    57        385000.00
    58        390000.00
    59        395000.00
    60        400000.00
    61        405000.00
    62        410000.00
    63        415000.00
    64        420000.00
    65        425000.00
    66        430000.00
    67        435000.00
    68        440000.00
    69        445000.00
    70        450000.00
    71        455000.00
    72        460000.00
    73        465000.00
    74        470000.00
    75        475000.00
    76        480000.00
    77        485000.00
    78        490000.00
    79        495000.00
    80        500000.00
    81        505000.00
    82        510000.00
    83        515000.00
    84        520000.00
    85        525000.00
    86        530000.00
    87        535000.00
    88        540000.00
    89        545000.00
    90        550000.00
    91        555000.00
    92        560000.00
    93        565000.00
    94        570000.00
    95        575000.00
    96        580000.00
    97        585000.00
    98        590000.00
    99        595000.00
   100        600000.00
   101        605000.00
   102        610000.00
   103        615000.00
   104        620000.00
   105        625000.00
   106        630000.00
   107        635000.00
   108        640000.00
   109        645000.00
   110        650000.00
   111        655000.00
   112        660000.00
   113        665000.00
   114        670000.00
   115        675000.00
   116        680000.00
   117        685000.00
   118        690000.00
   119        695000.00
   120        700000.00

Basit Faiz Formülü

#A=P×(1+r×t)

def basit_faiz_hesapla(anapara, faiz_orani, toplam_donem):
    toplam_tutar = anapara * (1 + faiz_orani * toplam_donem)
    kazanc = toplam_tutar - anapara
    return toplam_tutar, kazanc

anapara = float(input("Lütfen anapara tutarını yazın: "))
getiri_orani = float(input("Lütfen aylık faiz oranını yazın: "))
donem_sayisi = int(input("Lütfen toplam dönem sayısını yazın: "))

toplam_tutar, kazanc = basit_faiz_hesapla(anapara, faiz_orani, toplam_donem)

toplam_tutar_str = f"{toplam_tutar:,.2f}".replace(",", "X").replace(".", ",").replace("X", ".") + " TL"
kazanc_str = f"{kazanc:,.2f}".replace(",", "X").replace(".", ",").replace("X", ".") + " TL"

print(f"{toplam_donem} ay sonunda toplam tutar: {toplam_tutar_str}")

Çıktısı:

Lütfen anapara tutarını giriniz: 100000
Lütfen aylık faiz oranını giriniz: 0.05
Lütfen toplam dönem sayısını giriniz: 120
120 ay sonunda toplam tutar: 700.000,00 TL

 

Bileşik Faiz Tablosu

# Bileşik faiz formülü:
# Birikimli Tutar = Anapara * (1 + getiri_orani)^donem

def bilesik_faiz_tablosu_hesapla(anapara, faiz_orani, donem_sayisi):
    data = {'Dönem': [], 'Birikimli Tutar': []}
    for donem in range(1, donem_sayisi + 1):
        birikimli_tutar = anapara * (1 + faiz_orani) ** donem
        data['Dönem'].append(donem)
        data['Birikimli Tutar'].append(birikimli_tutar)

    df = pd.DataFrame(data)
    
    df['Birikimli Tutar'] = df['Birikimli Tutar'].map(lambda x: f"{x:,.2f}".replace(",", "X").replace(".", ",").replace("X", ".") + " TL")
    return df

anapara = float(input("Lütfen anapara tutarını yazın: "))
getiri_orani = float(input("Lütfen aylık faiz oranını yazın: "))
donem_sayisi = int(input("Lütfen toplam dönem sayısını yazın: "))

bilesik_faiz_tablosu = bilesik_faiz_tablosu_hesapla(anapara, faiz_orani, donem_sayisi)
print(bilesik_faiz_tablosu.to_string(index=False))

Çıktısı:

Lütfen anapara tutarını giriniz: 100000
Lütfen aylık faiz oranını giriniz: 0.05
Lütfen toplam dönem sayısını giriniz: 120
 Dönem  Birikimli Tutar
     1    105.000,00 TL
     2    110.250,00 TL
     3    115.762,50 TL
     4    121.550,63 TL
     5    127.628,16 TL
     6    134.009,56 TL
     7    140.710,04 TL
     8    147.745,54 TL
     9    155.132,82 TL
    10    162.889,46 TL
    11    171.033,94 TL
    12    179.585,63 TL
    13    188.564,91 TL
    14    197.993,16 TL
    15    207.892,82 TL
    16    218.287,46 TL
    17    229.201,83 TL
    18    240.661,92 TL
    19    252.695,02 TL
    20    265.329,77 TL
    21    278.596,26 TL
    22    292.526,07 TL
    23    307.152,38 TL
    24    322.509,99 TL
    25    338.635,49 TL
    26    355.567,27 TL
    27    373.345,63 TL
    28    392.012,91 TL
    29    411.613,56 TL
    30    432.194,24 TL
    31    453.803,95 TL
    32    476.494,15 TL
    33    500.318,85 TL
    34    525.334,80 TL
    35    551.601,54 TL
    36    579.181,61 TL
    37    608.140,69 TL
    38    638.547,73 TL
    39    670.475,12 TL
    40    703.998,87 TL
    41    739.198,81 TL
    42    776.158,76 TL
    43    814.966,69 TL
    44    855.715,03 TL
    45    898.500,78 TL
    46    943.425,82 TL
    47    990.597,11 TL
    48  1.040.126,96 TL
    49  1.092.133,31 TL
    50  1.146.739,98 TL
    51  1.204.076,98 TL
    52  1.264.280,83 TL
    53  1.327.494,87 TL
    54  1.393.869,61 TL
    55  1.463.563,09 TL
    56  1.536.741,25 TL
    57  1.613.578,31 TL
    58  1.694.257,22 TL
    59  1.778.970,09 TL
    60  1.867.918,59 TL
    61  1.961.314,52 TL
    62  2.059.380,24 TL
    63  2.162.349,26 TL
    64  2.270.466,72 TL
    65  2.383.990,06 TL
    66  2.503.189,56 TL
    67  2.628.349,04 TL
    68  2.759.766,49 TL
    69  2.897.754,81 TL
    70  3.042.642,55 TL
    71  3.194.774,68 TL
    72  3.354.513,42 TL
    73  3.522.239,09 TL
    74  3.698.351,04 TL
    75  3.883.268,59 TL
    76  4.077.432,02 TL
    77  4.281.303,62 TL
    78  4.495.368,80 TL
    79  4.720.137,24 TL
    80  4.956.144,11 TL
    81  5.203.951,31 TL
    82  5.464.148,88 TL
    83  5.737.356,32 TL
    84  6.024.224,14 TL
    85  6.325.435,34 TL
    86  6.641.707,11 TL
    87  6.973.792,47 TL
    88  7.322.482,09 TL
    89  7.688.606,20 TL
    90  8.073.036,50 TL
    91  8.476.688,33 TL
    92  8.900.522,75 TL
    93  9.345.548,88 TL
    94  9.812.826,33 TL
    95 10.303.467,64 TL
    96 10.818.641,03 TL
    97 11.359.573,08 TL
    98 11.927.551,73 TL
    99 12.523.929,32 TL
   100 13.150.125,78 TL
   101 13.807.632,07 TL
   102 14.498.013,68 TL
   103 15.222.914,36 TL
   104 15.984.060,08 TL
   105 16.783.263,08 TL
   106 17.622.426,24 TL
   107 18.503.547,55 TL
   108 19.428.724,93 TL
   109 20.400.161,17 TL
   110 21.420.169,23 TL
   111 22.491.177,69 TL
   112 23.615.736,58 TL
   113 24.796.523,41 TL
   114 26.036.349,58 TL
   115 27.338.167,06 TL
   116 28.705.075,41 TL
   117 30.140.329,18 TL
   118 31.647.345,64 TL
   119 33.229.712,92 TL
   120 34.891.198,57 TL

 

Bileşik Faiz Formülü

def bilesik_faiz_hesapla(anapara, faiz_orani, donem_sayisi):
    birikimli_tutar = anapara * (1 + faiz_orani) ** donem_sayisi
    return birikimli_tutar

anapara = float(input("Lütfen anapara tutarını yazın: "))
getiri_orani = float(input("Lütfen aylık faiz oranını yazın: "))
donem_sayisi = int(input("Lütfen toplam dönem sayısını yazın: "))

toplam_tutar = bilesik_faiz_hesapla(anapara, faiz_orani, donem_sayisi)
toplam_tutar_str = f"{toplam_tutar:,.2f}".replace(",", "X").replace(".", ",").replace("X", ".") + " TL"

print(f"{toplam_donem} ay sonunda toplam tutar: {toplam_tutar_str}")

Çıktısı:

Lütfen anapara tutarını yazın: 100000
Lütfen aylık faiz oranını yazın: 0.05
Lütfen toplam dönem sayısını yazın: 120
120 ay sonunda toplam tutar: 34891198.56672034
120 ay sonunda toplam tutar: 34.891.198,57 TL

 

 

Editör editi: sitedeki bazı diğer benzer yazılar için;

bkz: Python'da 10 Farklı Yöntem ile Fibonacci Dizisi Oluşturmak

bkz: Python ve Excel ile 6 Tutturuncaya Kadar Sayısal Loto Oynamak

bkz: Excel içerisinde python kodu yazmak (xlwings kütüphanesi)

bkz: Python'da satır satır text dosyası okumak ve güncellemek

bkz: Python'da string içindeki parantezleri ve yazıları silmek

bkz: Python ile Rastgele Kelime Üretmek

VitaDemy

28.07.2024 12:03

Bu soru henüz yanıtlanmamış.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
Python ile Basit ve Bileşik Faiz Hesaplamaları

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.