中学3年生のみなさんへ。〈2/2〉数と式「2022年度 大学入学共通テスト 本試験|数学Ⅰ第1問 [1]」sympyで実行してみたい。


(2022-02-12)分割しました。

オリジナル

Pycharmで:「一定の手順に従って数学的に処理する(問題作成方針 )」に準拠しているコード?

(2022-02-12)

from sympy import *
var('a b c x')
f=a + b + c
print("#",(f**2),"=",(f**2).expand().as_independent(Pow)[1],"+",(f**2).expand().as_independent(Pow)[0].factor())
myEq=Eq(1**2,13+2*x)
print("#",myEq)
print("#",solve(myEq,x)[0])
# (a + b + c)**2 = a**2 + b**2 + c**2 + 2*(a*b + a*c + b*c)
# Eq(1, 2*x + 13)
# -6

制作中

Pycharmで:「一定の手順に従って数学的に処理する(問題作成方針 )」に違反しているコード

(2022-01-18)
xy使わず、solveの連立方程式で計算してから、代入しています。
文字化けしますが、https://live.sympy.org/ で以下のソースコードを貼り付けて実行(Evaluateをクリック)できます。

from sympy import *
var('a b c x y')
myEq_1 =Eq(a+b+c,1)
myEq_2 =Eq(a**2+b**2+c**2,13)
myEq_3 =Eq(a-b,2*sqrt(5))
#
expr_AI=a*b+b*c+c*a
expr_UE=(a-b)**2+(b-c)**2+(c-a)**2
expr_OKA =x+y
expr_KIKU=x**2+y**2
expr_KE  =(a-b)*(b-c)*(c-a)
#
ans1=solve([myEq_1,myEq_2],[a,b])
print("#(1 )ab  ",ans1)
mySubs1A={a:ans1[0][0],b:ans1[0][1]}
mySubs1B={a:ans1[1][0],b:ans1[1][1]}
print("#(1A)アイ",expr_AI.subs(mySubs1A).simplify())  # simplify()必要です。
print("#(1A)ウエ",expr_UE.subs(mySubs1A).simplify())
print("#(1B)アイ",expr_AI.subs(mySubs1B).simplify())
print("#(1B)ウエ",expr_UE.subs(mySubs1B).simplify())
print("#---------------------------------------------------------------")
mySubs2 ={x:b-c,y:c-a}
ans2=solve([myEq_1,myEq_2,myEq_3],[a,b,c])
print("#(2 )abc ",ans2)
mySubs2A={a:ans2[0][0],b:ans2[0][1],c:ans2[0][2]}
mySubs2B={a:ans2[1][0],b:ans2[1][1],c:ans2[1][2]}
print("#(2A)オカ",expr_OKA .subs(mySubs2).subs(mySubs2A))
print("#(2A)キク",expr_KIKU.subs(mySubs2).subs(mySubs2A).simplify())  # simplify()必要です。
print("#(2A)ケ ",expr_KE                .subs(mySubs2A).simplify())
print("#(2A)オカ",expr_OKA .subs(mySubs2).subs(mySubs2B))
print("#(2A)キク",expr_KIKU.subs(mySubs2).subs(mySubs2B).simplify())
print("#(2A)ケ ",expr_KE                .subs(mySubs2B).simplify())

方程式の解が2つあります。虚数がありません。
「実数a,b,c」は、1文字目から出題者のヒント?0も実数です。

出力

#(1 )ab  (以下省略)  
#(1A)アイ -6
#(1A)ウエ 38
#(1B)アイ -6
#(1B)ウエ 38
#--------------------------------------------------------------------------------
#(2 )abc  [(-1/3 + sqrt(5), -sqrt(5) - 1/3, 5/3), (1 + sqrt(5), 1 - sqrt(5), -1)]
#(2A)オカ -2*sqrt(5)
#(2A)キク 18
#(2A)ケ  2*sqrt(5)
#(2A)オカ -2*sqrt(5)
#(2A)キク 18
#(2A)ケ  2*sqrt(5)