2016-07-17 11 views
-2
a = int(input("Please enter the value of a: ")) 
b = int(input("Please enter the value of b: ")) 
c = int(input("Please enter the value of c: ")) 

root_1 = (-b + ((b**2) - 4*a*c)**0.5)/2*a 
root_2 = (-b - ((b**2) - 4*a*c)**0.5)/2*a 

if root_1 < 0 or root_2 < 0: 
    root = "No real roots" 
elif root_1 > 0 or root_2 > 0: 
    root = "Two real roots" 
elif root_1 == 0 or root_2 == 0: 
    root = "One real root" 
print("The values you entered have", root) 

Hallo bin ich habe Probleme mit komplexen und int gibt mir einen Fehler. Gibt es dafür eine Lösung? Danke im Voraus.Typen komplex vs int

+1

Welches Problem haben Sie? Wo benutzt du 'komplex'? Was ist der Fehler? – wallyk

+0

TypeError: unorderable Typen: complex()

+0

Wenn ich a = 2, b = 2 und c = 2 eingegeben habe, ist das Ergebnis eine komplexe Zahl und gibt den Fehler, den ich in die obige Nachricht eingefügt habe. –

Antwort

0

Das Loch Problem liegt in der Logik, die Sie entscheiden, umsetzen, was das Ergebnis der Gleichung ist ....

Sie davon aus, das der Begriff ist, die Wurzeln in den quadratic equation Unterscheiden: root_1 und root_2

aber das ist, was man über reale Wurzeln erzählt oder nicht:

(b**2) - 4*a*c) 

, die Diskriminante

genannt wird und als

enter image description here

berechnet, wenn diese (b**2) - 4*a*c) positiv ist, dann die Quadratwurzel ist eine reelle Zahl, aber wenn der Ausdruck negativ ist, dann die Quadratwurzel produzieren eine imaginäre Nummer ...

enter image description here