2次関数の平方完成の問題をPythonで解いてみた。

 2次関数の平方完成の問題Pythonで解いてみました。(^_^;

 y=-\frac{3}{2}x^2+x-1

 次の2次関数の平方完成の公式を用いました。(^_^;

  y = ax^2+bx+c = a(x+\frac{b}{2a})^2-\frac{b^2-4ac}{4a}

 プログラムでは、分数計算ができるようにPythonの標準ライブラリfractionsモジュールをインポートしましたが、Fractionが長いのでfracに改名しました。(^_^;

● complSq1.py

# coding: UTF-8
# complSq1.py

from fractions import Fraction as frac   # 長いので改名

# 平方完成 y = ax^2+bx+c = a(x+b/2a)^2-(b^2-4ac)/4a
def complSq(a,b,c):
    p,q = frac(b,2*a), frac(4*a*c-b*b,4*a)
    return '%s*(x+(%s))**2+(%s)'%(a,p,q)

def main():
    print(complSq(frac(-3,2),1,-1))

if __name__ == '__main__':
    main()

●実行結果

-3/2*(x+(-1/3))**2+(-5/6)

※参考URL
放物線とx軸の位置関係-判別式D | 数学I | フリー教材開発コミュニティ FTEXT
2次関数の平方完成