1

ax^2+bx+c の形式の三項式を因数分解するプログラムを作成しようとしていますが、行き詰まっています。次のような 4 つの for ループのシーケンスがあります。

print "Factoring...\n"

for i in range(low_value, high_value):
    for j in range(low_value, high_value):
        for k in range(low_value, high_value):
            for l in range(low_value, high_value):
                print "testing\n"
                if i*k==a & j*l==c & (i*l)+(j*k)==b:
                    print "Your factored Equation is: (" + i + "x + " + j + ")(" + k + "x + " + l + ")"
                else:
                    print "No solution found.\n"
print "testing...\n"

とにかく、コードが最適とはほど遠いことはわかっていますが、for ループ内では何も実行されていません。最後に「testing...」というメッセージが表示されますが、その前には何も出力されません (つまり、「testing」、「Your factored equation is:」、または「No solution found」という意味です)。Python には、一度に多くの for ループを使用できないという制限がありますか? 私が見ることができない私の構文に何か問題がありますか? どんな助けでも大歓迎です:)

4

3 に答える 3

3

and「&」記号ではなく、論理積に使用する必要があります。これを試して:

...
if (i*k==a) and (j*l==c) and ((i*l+j*k)==b):
...
于 2012-08-21T17:44:47.213 に答える