LoginSignup
0
1

More than 1 year has passed since last update.

Pythonで中学方程式の計算

Last updated at Posted at 2022-11-25

Pythonで中学 数学の「方程式の計算」をする方法を紹介します。レベルは「中1」です。

はじめに

Pythonがインストールしてあり、使い方を知っていることが前提です。

また、Pythonでの基本的な計算方法を知っておくことが前提です。
こちらの記事を参考にしてください。

必要なもの

Pythonが使えるデバイス。
パソコン、ラズパイ、タブレット、スマホなど。

※自分はChromebookのLinuxを使っています。

sympyをインストールする

方程式の計算でも文字式と同様にPythonライブラリ「sympy」を使います。

最新版をインストールしましょう。

pip3 install sympy==1.9

sympyをインストールするには、Pythonがすでにインストールされていることが前提です。
インストールできない人は以下の方法でインストールできるかもしれません。※Linuxの場合です。

sudo apt-get install python-pip
sudo pip install sympy

方程式 一般的な解き方

このような問題があったとします。

Q 次の方程式を解きなさい。

10x=4-6x

Pythonで解くには右辺の方をゼロにする必要があります。

したがって、次のように書き換えます。

10x-4+6x=0

これをもとにコードを書いていきます。※コピペして自分のファイルに保存してください。

import sympy 

x = sympy.Symbol('x') 
y = sympy.Symbol('y') 

print(sympy.solve(10*x-4+6*x, x)) #10x-4+6x=0
#出力結果[1/4]   答え 4分の1

問題点

しかし、この方法では、自分で「移項」させなければならず、非常に面倒くさいです。

よく考えてみると、左辺にあるものを右辺に移す際には、「すべてマイナスをかけてやればよい」ので、

コードに中にそれを書き込んで、自動で計算するプログラムにします。

工夫したやり方

自分で移項しないで方程式の問題を解いてみます。

Q 次の方程式を解きなさい。

10x=4-6x

※コピペして自分のファイルに保存してください。

import sympy 

x = sympy.Symbol('x') 
y = sympy.Symbol('y') 

expr1=10*x #左辺
expr2=-(4-6*x) #右辺 マイナスをかける

print(sympy.solve(expr1+expr2, x)) #xの値を出す
#出力結果[1/4]   答え 4分の1

かっこのある方程式

工夫したやり方で「かっこのある方程式」を解いてみます。

Q 次の方程式を解きなさい。

7x-6=3(x-4)

import sympy 

x = sympy.Symbol('x') 
y = sympy.Symbol('y') 

expr1=7*x-6
expr2=-(3*(x-4))

print(sympy.solve(expr1+expr2, x)) 
#出力結果 [-3/2]       答え -2分の3

最後に

sympyについて調べていくと、「2次方程式」や「連立方程式」のコードもありました。

気になる人はコピペして試してみてください。

2次方程式

import sympy 

x = sympy.Symbol('x') 
y = sympy.Symbol('y') 

print(sympy.solve(x**2 - 3 * x + 2)) #xの2乗 -3x +2
# [1, 2]

連立方程式

import sympy 

x = sympy.Symbol('x')  
y = sympy.Symbol('y') 

expr1 = 3 * x + 5 * y - 29     #3x+5y-29
expr2 = x + y - 7 

print(sympy.solve([expr1, expr2]))
# {x: 3, y: 4}

関連記事

【超基礎編】Pythonで中学 数学の問題を自動作成する方法 - Qiita

Pythonで中学 比例の計算・グラフを描く方法 - Qiita

Pythonで中学 文字式の計算 - Qiita

Python で計算する準備 足し算・引き算・掛け算・割り算・分数・累乗 - Qiita

0
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1