Was bedeutet dieser "Type Error"?
Hi mal wieder. Ich sitze gerade an einem Programm, welches Temperaturen jeweils von und nach Kelvin, Celsius und Fahrenheit berechnet, bekomme jedoch die Fehlermeldung:
TypeError: __init__() missing 1 required positional argument: 'f'
Ich kann leider den Fehler nicht verstehen/finden und bitte darum, ob jemand eventuell drüberschauen könnte.
Mein Programm:
class Temperatur:
def __init__(self, c, k, f,):
self.c = c
self.k = k
self.f = f
def get_temperature(c):
return c
def convert_to_celsius(k):
c = k - 273,15
return c
def convert_to_celsius(f):
c = (f - 32) * 5/9
return c
def setTemperature(t,c):
if(c < 273,15):
return False
else:
c = t
return True
def get_temperature(k):
return k
def convert_to_kelvin(c):
k = c + 273.15
return k
def convert_to_kelvin(f):
k = (f-32) * (5/9) + 273,15
return k
def setTemperature(t, k):
if(k < 0):
return False
else:
k = t
return True
def get_temperature(f):
return f
def convert_to_fahrenheit(c):
f = (c * 9/5) + 32
return f
def convert_to_fahrenheit(k):
f = (k - 273,15) * 9/5 + 32
return f
def setTemperature(t, f):
if(f < -459,67):
return False
else:
f = t
return True
2 Antworten
- bitte nutz doch den Code-Tag, sodass auch die Einrückungen zu sehen sind. das ist bei Python sehr wichtig
- ist ja schön, dass du die Zeilen dazuschreibst, ist jedoch - so wie es da jetzt da steht - eher hinderlich, da es alles übersichtlicher macht.
- Du hast zwar deine Klasse "Temperatur" kopiert, jedoch nicht, wo du das ganze überhaupt aufrufst ... Laut der Fehlermeldung fehlt dort das dritte Argument "f" - nutzt du zufällig dort nur zwei Argumente?
Unter den Formatierungsoptionen im WYSIWYG-Editor hier, das Symbol sieht so aus: </>
Ok danke, ich poste es mal nochmal.
stell die Frage nicht nochmal, sonst wird sie wegen Mehrfachbeitrag gelöscht. Editiere lieber die vorhandene Frage hier
Ok, habe den Bearbeitungsvorschlag abgeschickt. Aber nochmal zurück:
Ich habe die Klasse nirgendwo aufgerufen, sondern habe sie lediglich so wie oben stehen.
Habe ich schon, leider bekomme ich die selbe Fehlermeldung
Und du bist dir sicher, dass du das nirgends aufrufst? Denn normalerweise würde - ohne ein Aufruf - auch die Fehlermeldung nicht kommen.
Sicher, dass nicht irgendwo Temperatur(a, b) o.Ä. steht (a und b Platzhalter für Variablen)
Die init methode erwartet 3 Parameter. Anscheinend hast du beim Erzeugen der Instanz deiner Klasse den 3. Parameter vergessen?
Ja es hat mit der Code Formatierung irgendwie nicht geklappt... Hatte es versucht diesmal richtig zu machen. Wo genau finde ich den "Code Tag"?