2017-02-26 16 views
-3

Im「二次式」のpython 3.5でこのコードを使用しています。ValueErrorのために何かを印刷する方法はありますか?

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) 

コードが正常に動作しますが、NUM1とNUM2の値として現れたとき、私は、(「数学エラー」)が表示され、印刷機能を追加するためにどのような方法がある「とValueError:数学ドメインエラーは」

このような何かを探してイム...

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

あなたのCを使います'd <0'のouldテスト?さらに複雑なソリューションを印刷することさえできますか? – LutzL

答えて

0

ちょうど平均、通常の例外ハンドラ

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) 
関連する問題