-1

変数を方程式にして解けるようにすることはできますか?

簡単な例は次のようになります

equ = "23/(n+2)"

for n in range(2):
    ans = equ
    print ans

これは戻ります

23/(n+2)
23/(n+2)

希望ではなく

11.5
7.667
4

2 に答える 2

-2

注: eval は本当に危険です。

使用できますeval()

equ = "23/(n+2)"

for n in range(2):
    ans = equ
    print eval(ans)

これにより、Python 2 (それぞれ 11 および 7) で誤った結果が得られることに注意してください。Python 3 では、正しい結果が得られます。Python 2 では、関連する数値の少なくとも 1 つが整数でないことを確認することで、これを修正できます。

equ = "23.0/(n+2)"

for n in range(2):
    ans = equ
    print eval(ans)
于 2014-08-21T14:06:52.163 に答える