私は変数を解くための簡単なスクリプト(ex:x + 2でのxの検索= 10)をいくつかの実践のために作っています。変数を解決するために虚数を使った関数に遭遇するまで、私は多くの問題を抱えていました。私はそのことに取り組み、いくつか学んだが、今は2つの変数を解決したい。私のプログラムの主な考え方は次のとおりです。簡単な代数ソルバー(Python)に関するアドバイス
def solve(eq,var1='x', var2='y'):
if '+' in eq:
try:
eq1 = eq.replace("=","-(")+")"
eq2 = eq1.replace('+','-')
print eq1
print eq2
c = eval(eq2,{var1:1j},{var2:1j})
print c
c = -c.real/c.imag
eq3 = eq1.replace('x',str(int(c)))
eq4 = eq3.replace('y',str(int(c)))
eq5 = eq4.replace('-(', '=')
eq6 = eq5.replace(')','')
if eq6 == True:
print 'test1'
print eq6
else:
print 'oops1'
print eq6
他のすべての方程式が補償されています。方程式が解かれたことを確認するのに問題があります(eq6 == True)。何かアドバイス?または私が作った間違い?
そのコードは構造が悪いです。 1つの 'try'ブロックに複数の行を置かないでください。また、意味のある変数名を使用してコメントを追加する(または少なくとも印刷出力を表示する)。 – Will
私はちょうど主要な考えを下げることに集中していますが、ありがとう、私はそれを念頭に置いておきます。 – asqapro