変数を方程式にして解けるようにすることはできますか?
簡単な例は次のようになります
equ = "23/(n+2)"
for n in range(2):
ans = equ
print ans
これは戻ります
23/(n+2)
23/(n+2)
希望ではなく
11.5
7.667
注: 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)