ich habe gerade erst mit Python und mit Programmiersprachen generell angefangen und bin mittlerweile dabei, mich durch eines der unzähligen Python-Tutorials zu "schreiben".
Eine Aufgabe war es, einen kleinen Rechner für Zinsen zu schreiben. Mein Code:
import sys
def Kapital_rechner():
print('Gib bitte dein Kapital an.')
Kapital = float(sys.stdin.readline())
print()
print('Gib bitte die Jahre ein: ')
Jahre = int(sys.stdin.readline())
print()
print('Gib bitte den Zinssatz an: ')
Zinsen = float(sys.stdin.readline())
for X in range(1, Jahre + 1):
Euro_Zinsen = Kapital * Zinsen
print('In Jahr %s haben wir %s Kapital und erhalten %s Zinsen. Das sind %s Euro-Zinsen und ergibt eine Endsumme von %s.' % (X, Kapital, Zinsen, Euro_Zinsen, Kapital + Euro_Zinsen))
Kapital = Kapital * (1 + Zinsen)
Kapital_rechner()
input()
Bestimmt nicht sonderlich hübsch ... mir fällt auch gerade auf, dass die Ausgabe ziemlich dämlich formuliert ist; ist mir gerade aber egal.

Zunächst hat das Programm bei mir nicht funktioniert, wenn ich Dezimalzahlen verwendete. Irgendwann hatte ich aber raus, dass ich evtl. float verwenden muss ...
Auch da gab es wieder Probleme: Jahre mussten augenscheinlich als ganze Zahl eingelesen werden. Ich wechselte also auf "Jahre = int(sys.stdin.readline())" und die Probleme verschwanden.
Ich vermute einfach mal, dass es mit range() zu tun hat. Dürfen da nur ganzzahlige Zahlen verwendet werden? Wieso ist das so? Und gibt es eine Möglichkeit, diese Limitierung zu umgehen.
Ansonsten freue ich mich, hier zu sein.
Grüße
Tom