Tämä ohjelma käyttää esimerkkinä korkoa korolle laskua esimerkkinä taulukkolaskentaan tallentamisesta. Tämä onnistuu CSV-tiedostomuodon avulla, jossa arvot tässä tapauksessa erotellaan puolipisteellä. Käyttäjä voi itse määritellä taulukon muodon (neliö tai suorakulmio) ja koon.
import csv
def LaskeKorkoaKorolle(yksinkertainen: float, netto_korkokanta: float, vuodet: int):
#Lasketaan rahamäärä, kun tietty määrä vuosia on kulunut.
korkoa_korolle_tulos = 0.0
#Pitää ottaa huomioon, että viimeinen vuosi ei kasva korkoa korolle.
for i in range(0,vuodet):
korkoa_korolle_tulos += talletus*netto_korkokanta**i
return korkoa_korolle_tulos
#Annetaan kelvolliset lähtötiedot.
while (True):
talletus = float(input("Anna talletus:"))
netto_korkokanta = float(input("Anna nettokorkokanta:"))
if (talletus > 0 and netto_korkokanta > 0):
break
#Lasketaan yksinkertainen korko.
yksinkertainen = 0.0
for i in range(12,0,-1):
yksinkertainen += talletus*(netto_korkokanta/100.0)*(i/12)
talletus *= 12.0
talletus += yksinkertainen
netto_korkokanta = 1+(netto_korkokanta/100.0)
print("Missä muodossa tallennetaan taulukkoon")
print("1) 2x2")
print("2) 3x3")
print("3) 4x2")
print("4) 2x4")
valinta = int(input())
#Laitetaan luvut taulukkoon tiettyyn muotoon.
with open("korkoa_korolle.csv","w") as tiedosto:
if (valinta == 1):
for i in range(2,10,4):
tiedosto.write(f"{LaskeKorkoaKorolle(talletus,netto_korkokanta,i)};")
tiedosto.write(f"{LaskeKorkoaKorolle(talletus,netto_korkokanta,i+2)}\n")
elif (valinta == 2):
for i in range(3,30,9):
tiedosto.write(f"{LaskeKorkoaKorolle(talletus,netto_korkokanta,i)};")
tiedosto.write(f"{LaskeKorkoaKorolle(talletus,netto_korkokanta,i+3)};")
tiedosto.write(f"{LaskeKorkoaKorolle(talletus,netto_korkokanta,i+6)}\n")
elif (valinta == 3):
for i in range(4,36,16):
tiedosto.write(f"{LaskeKorkoaKorolle(talletus,netto_korkokanta,i)};")
tiedosto.write(f"{LaskeKorkoaKorolle(talletus,netto_korkokanta,i+4)};")
tiedosto.write(f"{LaskeKorkoaKorolle(talletus,netto_korkokanta,i+8)};")
tiedosto.write(f"{LaskeKorkoaKorolle(talletus,netto_korkokanta,i+12)}\n")
elif (valinta == 4):
for i in range(2,18,4):
tiedosto.write(f"{LaskeKorkoaKorolle(talletus,netto_korkokanta,i)};")
tiedosto.write(f"{LaskeKorkoaKorolle(talletus,netto_korkokanta,i+2)};")Neliö on suorakulmio...
Aihe on jo aika vanha, joten et voi enää vastata siihen.