Wie kann ich bei Python die Nullstellen einer Funktion nur dann ausgeben, wenn sie reell sind?
Hallo, muss gerade die oben beschriebene Aufgabe im Anfängerkurs Python lösen. Meine Idee war zu prüfen von welchem Typ die Nullstellen sind und sie dann mit if-else Anweisungen entsprechend ausgeben zu lassen. Kann mir jemand sagen, wo mein Fehler ist?
1 Antwort
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Programmiersprache, Python
Das ist schon grob in Ordnung so. Der saubere Weg, um auf float zu prüfen, wäre aber:
type(bla) is float
Ein int kann gar nicht rauskommen, die Prüfung kannst du dir sparen. In deinem Beispiel mit den Koeffizienten (4, 3, 2) kommen aber eben keine reellen Nullstellen raus, sondern komplexe - Python hat einen eingebauten Datentyp für komplexe Zahlen ("complex"), der hier automatisch verwendet wird.
Deine Ausgabelogik ist unnötig komplex, du kannst sie vereinfachen. Das aber nur nebenbei.