###前提・実現したいこと
python3.6を使っている初心者です。
参考書の課題なのですが、何か初歩的な勘違いをしているようで、どうしてもできません。
ご指導いただけるとありがたいです。
a)二次方程式の解を出す関数roots(a,b,c)をつくる。
b)その関数を呼び出して、その解が実数か複素数か判定する二つの関数test_roots_float
、test_roots_complexをつくる。
のb)で行き詰まりました。
###発生している問題・エラーメッセージ
NameError: name 'x1' is not defined
###該当のソースコード
from numpy.lib.scimath import sqrt
print("a)")
def roots(a,b,c):
x1=(-b + sqrt(b2 - 4ac))/(2*a)
x2=(-b - sqrt(b2 - 4ac))/(2*a)
return(x1,x2)
print("b)")
def test_roots_float(a,b,c):
roots(a,b,c)
if x1 == float(x1):
print("real roots")
test_roots_float(1,4,4)
def test_roots_complex(a,b,c):
roots(a,b,c)
if x1 != float(x1):
print("complex roots")
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/15 13:06