Python 2.7 を実験して楽しんでいるだけで、二次方程式ソルバーを作成しようとしています。ラジカンドが正の場合は機能しましたが、負の場合はエラーが発生します。この if else ステートメントの後でも。また、大きな数では機能しません。助けてくれてありがとう。
import math
a = raw_input("a = ")
b = raw_input("b = ")
c = raw_input("c = ")
float(a)
float(b)
float(c)
radicand = ((b**2)-4*a*c)
if radicand >= 0:
print(((0-b) + math.sqrt((b**2)-4*a*c))/(2*a))
print(((0-b) - math.sqrt((b**2)-4*a*c))/(2*a))
else:
print "Imaginary Radical"
(b**2)-4*a*c を radicand に置き換えると、無効な構文エラーが発生し、印刷が赤で強調表示されます。エラーメッセージには TypeError: unsupported operand type(s) for ** or pow(): 'str' and 'int' というメッセージが表示されます
。提供できる洞察に感謝します...