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
Computer, Programmieren, Informatik
Java / BlueJ: Wo ist hier der Fehler?

Ich habe folgendes Programm geschrieben:

public class Formel {
  private int c;

  private int p;

  private int k;

  private boolean ergebnis;

  public Formel() {
    double formel = Math.pow(c, 3) - 3 * Math.pow(c, 2) * (p -k) + 3 * c * (Math.pow(p, 2) - Math.pow(k, 2)) - (Math.pow(p, 3) + Math.pow(k, 3));
    p = 2;
    k = 1;
    boolean ergbnis = false;

    for (formel = 0;;) {
      do {
        Math.pow(-4 * Math.pow(k, 3) + 9 * Math.pow(k, 2) * p + Math.pow(-16 * Math.pow(k, 6) + 24 * Math.pow(k, 5) * p + 9 * Math.pow(k, 4) * Math.pow(p, 2) - 22 * Math.pow(k, 3) * Math.pow(p, 3) + 9 * Math.pow(k, 2) * Math.pow(p, 4), 0.5) - 3* k * Math.pow(p, 2), 1 / 3); // divided by Math.pow(2, 1/3);
        p++;
        k++;
      }
      while (ergebnis = false);
  
      if (ergebnis = true) {
        System.out.println(c);
        System.out.println(p);
        System.out.println(k);
        break;
      }
    }
  }
}

Hier:

3 * k* Math.pow(p, 2), 1 / 3); // divided by Math.pow(2, 1 / 3)

will ich, dass die linke Seite (also den ganzen linken Term beginnend mit Math.pow(-4Math.pow(k,3)...) durch die rechte geteilt wird. Also soll da stehen:

Math.pow(-4 * Math.pow(k, 3) + 9 * Math.pow(k, 2) * p + Math.pow(-16 * Math.pow(k, 6) + 24 * Math.pow(k, 5) * p + 9 * Math.pow(k, 4) * Math.pow(p, 2) - 22 * Math.pow(k, 3) * Math.pow(p, 3) + 9 * Math.pow(k, 2) * Math.pow(p, 4), 0.5) - 3 * k * Math.pow(p, 2), 1 / 3) / Math.pow(2, 1 / 3);

Jedoch ist das Problem dass er das geteilt Zeichen nicht als Statement sieht? Was ist hier falsch bzw. wie kann ich das korrigieren?

Java, BlueJ, Informatiker

Was möchtest Du wissen?