Hallo ihr Lieben,
ich bin eine sehr motivierte, aber unfassbar blutige Python-Anfängerin und bitte euch um ein wenig Hilfestellung bei folgendem Problem:
Ich soll ein Programm schreiben das bei der Eingabe Sparrate R, jährlichem Zinssatz p und der Laufzeit n mir die Endsumme errechnet. Zuvor wurde aufgeführt dass ich mit einer jährlichen Rate von 450 Euro nach 25 Jahren 17240.20 Euro erhalte.
Folgendes habe ich mir überlegt:
import math
K0=450 #Anfangskapital
p=0.02 #Zinssatz
n=25 #Anzahl Jahre
R=450 #jährliche Rate
jahr=1
Kapital=float(K0(1+p)**n)-R(1+p)*((1+p)**n-1)/((1+p)**-1)
while Kapital<=17240.20:
jahr+=1
print(jahr, Kapital)
Nun kommt die Fehlermeldung: line 8, in <module>
Kapital=int(K0(1+p)**n)-R(1+p)*((1+p)**n-1)/((1+p)**-1)
TypeError: 'int' object is not callable
Könnt ihr mir vielleicht sagen was ich falsch gemacht habe und ob ich aber so schonmal auf dem richtigen Weg bin?
Und habt ihr eventuell Lieteraturempfehlungen/Video-Tipps für Anfänger? Im Internet gibt es so schrecklich viel, da ist es manchmal schwer zu filtern.
Vielien lieben Dank im Voraus und liebe Grüße
Zinseszins
- pillmuncher
- User
- Beiträge: 1484
- Registriert: Samstag 21. März 2009, 22:59
- Wohnort: Pfaffenwinkel
Zum Vergleich:Tutsi hat geschrieben:R=450
... R(1+p) ...
Code: Alles auswählen
>>> R = 450
>>> R()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable
>>> 450()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable
In specifications, Murphy's Law supersedes Ohm's.
Falsch:
R(1+p)
Richtig:
R*(1+p)
In der Mathematik braucht das Multiplikationszeichen oftmals nicht hingeschrieben werden.
Beim Programmieren ist das aber nicht so.
R(1+p)
Richtig:
R*(1+p)
In der Mathematik braucht das Multiplikationszeichen oftmals nicht hingeschrieben werden.
Beim Programmieren ist das aber nicht so.