eval() は次のような場合に非常に便利です。
x = 3
y = 2
myformula = "x + y"
print eval(myformula)
>>> 5
しかし、変数の名前と値をハードコードするのではなく、辞書を使用したい場合はどうすればよいでしょうか?
mydict = {'x':3, 'y':2, 'z':5}
myformula = "x + y + z"
print eval(myformula)
>>> 10
or,
mydict = {'a':100, 'b':10, 'c':1}
myformula = "(a * b) - c"
print eval(myformula)
>>> 999
変数を変数に割り当てる方法を調べましたが、他の答えを私の問題に適用できませんでした。myformula 文字列についても、その表記法を維持したいと考えています。どんな助けでも大歓迎です。
ありがとう。
ポール
シカゴ、イリノイ州