Python :: Aufgabe #187

2 Lösungen Lösungen öffentlich

Die beste Darlehensart berechnen

Anfänger - Python von Exception - 04.06.2018 um 17:06 Uhr
Schreibe ein Programm welches folgende Parameter übergeben bekommt:
- Nominalzins p.a.
- Laufzeit (Jahre)
- Darlehen (€)

Berechne dann anhand dieser Parameter welche der drei folgenden Darlehensarten am besten für den Kreditnehmer ist:
- Fälligkeitsdarlehen
- Ratendarlehen
- Annuitätendarlehen

... und gib die Ergebnisse aus, auch inwiefern sie sich untereinander unterscheiden - jeder Cent zählt! ;)

Lösungen:

vote_ok
von jigga (4260 Punkte) - 06.06.2018 um 13:08 Uhr
Quellcode ausblenden Python-Code
normzins = float(input("Normalzins p.a.: "))/100
laufzeit = int(input("Laufzeit (Jahre): "))
darlehen = float(input("Darlehen EUR: "))

tilgung = darlehen/laufzeit
zins = 0
liste = []

liste.append(darlehen*normzins*laufzeit + darlehen)
print("\nEndsumme Fälligkeitsdarlehen:", liste[0])


for i in range(laufzeit):
	restschuld = darlehen - i*tilgung
	zins += normzins*restschuld

liste.append(zins+darlehen)
print("Endsumme Ratendarlehen:", liste[1])

liste.append(laufzeit*darlehen*normzins*(1+normzins)**laufzeit/((1+normzins)**laufzeit-1))
print("Endsumme Annuitätendarlehen:", liste[2],"\n")

art = liste.index(min(liste))
if art == 0:
	print("Fälligkeitsdarlehen ist das günstigste.")
elif art == 1:
	print("Ratendarlehen ist das günstigste.")
elif art == 2:
	print("Annuitätendarlehen ist das günstigste.")
vote_ok
von scar77 (210 Punkte) - 23.08.2018 um 21:51 Uhr
Quellcode ausblenden Python-Code
print("Darlehensbetrag in Euro: ")
betr = float(input())

print("Nominalzins in % p.a.: ")
p = float(input())
q = 1+(p/100)

print("Laufzeit in Jahren: ")
lfz = int(input())


# Fälligkeitsdarlehen
g_zins_fällig = (betr * p * lfz)/100

print("Fälligkeitsdarlehen: ")
print(f"Die Zinsen für die Gesamtlaufzeit von {lfz} Jahren betragen: {'%.2f' % g_zins_fällig} Euro.\n")

# Annuitätendarlehen
g_zins_annu = ((betr * (q**lfz*(q-1)/(q**lfz-1))*lfz) - betr)

print("Annuitätendarlehen: ")
print(f"Die Zinsen für die Gesamtlaufzeit von {lfz} betragen: {'%.2f' % g_zins_annu} Euro.\n")

# Ratentilgungsdarlehen
g_zins_raten = 0
for j in range(0, lfz):
    z = (betr - (j*betr/lfz)) * p / 100
    g_zins_raten += z

print("Ratentilgungsdarlehen: ")
print(f"Die Zinsen für die Gesamtlaufzeit von {lfz} betragen: {'%.2f' % g_zins_raten} Euro. \n")

# Ergebnis
if min(g_zins_fällig, g_zins_annu, g_zins_raten) == g_zins_fällig:
    print("Das Fälligkeitsdarlehen ist im Hinblick auf die Gesamtzinsen am günstigsten.")
elif min(g_zins_fällig, g_zins_annu, g_zins_raten) == g_zins_annu:
    print("Das Annuitätendarlehen ist im Hinblick auf die Gesamtzinsen am günstigsten.")
elif min(g_zins_fällig, g_zins_annu, g_zins_raten) == g_zins_raten:
    print("Das Ratentilgungsdarlehen ist im Hinblick auf die Gesamtzinsen am günstigsten.")