2017-02-26 4 views
-3

Ich verwende diesen Code in Python 3.5 für die 'quadratische Formel';Gibt es eine Möglichkeit, etwas für einen ValueError zu drucken?

def quad(a,b,c): 
    d = (b**2) - (4*a*c) 
    num1 = (-b+math.sqrt(d))/(2*a) 
    num2 = (-b-math.sqrt(d))/(2*a) 
    print ("Your solutions are", num1, "and", num2) 

Der Code funktioniert gut, aber ist es eine Möglichkeit für mich, eine Druckfunktion hinzuzufügen, die anzeigt („Math Error“), wenn die Werte von num1 und num2 zeigen sich als „Valueerror: math Domain Error“

Im für so etwas suchen ...

if num1 or num2 = ValueError: # I can't figure out how to 'word' this 
    print ("Math Error") 
+0

Sie c verwenden würde nach 'd <0 'testen? Und drucken Sie dann die dann komplexen Lösungen? – LutzL

Antwort

0

nur einen durchschnittlichen normalen Exception-Handler

import sys 

def quad(a,b,c): 
    try: 
     d = (b**2) - (4*a*c) 
     num1 = (-b+math.sqrt(d))/(2*a) 
     num2 = (-b-math.sqrt(d))/(2*a) 
     print ("Your solutions are", num1, "and", num2) 
    except ValueError as e: 
     print("Math error", e, file=sys.stderr) 
Verwandte Themen