ich bin blutiger Anfänger (und das ist noch übertrieben).
Ich bin bei meinen ersten Versuchen mit Python und habe ein kleines Problem, und zwar möchte ich ein kleines Programm schreiben welches mir die Arbeit erleichter.
Das Programm soll die Vergütung einer Solaranlage mit unterschiedlichen kW zahlen berechnen und dieses mit den jeweiligen Vergütungssätzen aus Dezember 2012 und Januar 2013.
Nun zum Problem:
Wenn man die Wahl Dezember nimmt wird alles korrekt berechnet, nimmt man aber den Januar spuckt er immer diese Fehlermeldung aus
Bitte geben sie den Monat der Inbetriebnahme ein: 1 = Dezember , 2 = Januar
2
Bitte geben sie Ihre Anlagen größe ein:
12
Traceback (most recent call last):
File "C:\Users\Michael.Grotegers\Desktop\vergütung neu.py", line 27, in <module>
v2 = (((anlage - 10)*y1) + (10 * x1))/ anlage
TypeError: can't multiply sequence by non-int of type 'float'
obwohl ich alles so gemacht habe wie bei der Dezember auswahl.
hier der ganze Code.
Code: Alles auswählen
# Vergütung berechnen
x = 0.1745
y = 0.1656
z = 0.1477
x1 = 0,1702
y1 = 0,1614
z1 = 0,1440
print (" Bitte geben sie den Monat der Inbetriebnahme ein: 1 = Dezember , 2 = Januar ")
k = int (input())
print (" Bitte geben sie Ihre Anlagen größe ein: ")
anlage = float (input())
if anlage <= 10 and k == 1:
print(" Ihre Vergütung beträgt " , x , " Euro pro kWh")
elif anlage <= 10 and k == 2:
print(" Ihre Vergütung beträgt " , x1 , " Euro pro kWh")
elif anlage <= 40 and k == 1:
v1 = (((anlage - 10)*y) + (10 * x))/ anlage
print(" Ihre Vergütung beträgt " , v1 , " Euro pro kWh")
elif anlage <= 40 and k == 2:
v2 = (((anlage - 10)*y1) + (10 * x1))/ anlage
print(" Ihre Vergütung beträgt " , v2 , " Euro pro kWh")
elif anlage <= 1000 and k == 1:
v3 = ((10 * x ) + (30 * y) + ((anlage - 40)*z))/anlage
print(" Ihre Vergütung beträgt " , v3 , " Euro pro kWh")
elif anlage <= 1000 and k == 2:
v4 = ((10 * x1 ) + (30 * y1) + ((anlage - 40)*z1))/anlage
print(" Ihre Vergütung beträgt " , v4 , " Euro pro kWh")
input (" zum beeden Taste drücken ")
p.s. aber bitte nicht nur eine Korrektur sondern auch warum es nicht geht schreiben ich will es ja auch verstehen.
Damit ich für das nächste mal bescheid weiß.