# 数学関数を使うためのモジュールをimportする。 import math # 入力を求めるメッセージを標準出力に書き出す。 print('a x^2 + b x + c = 0:') print('a, b, c?') # input関数で値を読みこむ。 a,b,c = (float(x) for x in input().split(',')) # 判別式(根号の中身)を計算する。 d = b**2 - 4. * a * c # ここからif文が始まる。 # 今回は、'if ...: ... else: ...'という構造になっている。 # ifの後に書かれた条件を満たす場合には # elseまでの範囲を実行し、 # そうでない場合には # else以下のインデントされている範囲を実行する。 # ここでは、判別式Dの値が0以上の場合には実数解を、 # 負の場合には複素数解を求める。 if d >= 0.: # 判別式が0以上の場合には、 # 二次方程式の2つの実数解を計算する。 x1 = (- b - math.sqrt(d)) / (2. * a) x2 = (- b + math.sqrt(d)) / (2. * a) # 結果を標準出力に書き出す。 # この関数printも、 # 判別式Dが0以上で実数解が存在する場合だけ実行される。 print('x = ', x1, ', ', x2, sep='') # ここでif文が終了する。 # if文で指定した条件が真である場合には、 # elseまでの範囲を実行する。 # 偽である場合には、 # else以下のインデントされている範囲を実行する。 else: # 判別式が負の場合には、 # 二次方程式の2つの複素数解を計算する。 # xrが実部、xiが虚部である。 xr = - b / (2. * a) xi = math.sqrt(- d) / (2. * a) # 結果を標準出力に書き出す。 # この関数printも、 # 判別式Dが負で複素数解になる場合だけ実行される。 print('x = ', xr, ' +- ', xi , ' i', sep='') # ここでif文が終了する。