ホームページ  >  記事  >  バックエンド開発  >  Python は 3 行のコードを実装して 1 つの変数の単純な線形方程式を解きます

Python は 3 行のコードを実装して 1 つの変数の単純な線形方程式を解きます

WBOY
WBOYオリジナル
2016-06-16 08:42:432998ブラウズ

この記事で説明されている例では、Python の 3 行のコードを使用して 1 つの変数の線形方程式を解きます。コードはシンプルで効率的です。

>>> solve("x - 2*x + 5*x - 46*(235-24) = x + 2")
3236.0

関数コードは次のとおりです:

def solve(eq,var='x'):
  eq1 = eq.replace("=","-(")+")"
  c = eval(eq1,{var:1j})
  return -c.real/c.imag

以下のコードを解釈してみましょう。

最初は 1 行目で、方程式を変形して「x - 2*x + 5*x - 46*(235-24) -( x + 2)」という計算式を生成し、結果は 0 になります。 。
2 行目では、eval を使用してこの計算を実行し、計算に x = 1j を代入します。結果は -9708+3j になります。
x = 1j であるため、この方程式は「-9708+3x = 0」に単純化され、x を得るには -(-9708) / 3 を加算するだけであることに注意してください。
そして、-9708 はこの複素数の実数部、3 はこの複素数の虚数部であるため、結果は「-c.real/c.imag」になります。
したがって、この関数が複雑な方程式を解くことができないことは明らかです。
ちなみに、Python 2.x の / 演算は整数の除算を使用するため、小数部分が失われるため、正しい結果を得るには Python 3.x を使用する必要があります。

この記事で説明した例が、Python を学習するすべての人にとって役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。