Astan Chee <astan.c...@al.com.au> writes: > Hi, > I have some variables in my script that looks like this: > vars = {'var_a':'10','var_b':'4'} > eqat = "(var_a/2.0) <= var_b" > result = "(var_a+var_b)/7" > What I'm trying to do is to plug in var_a and var_b's values from vars > into eqat and see if eqat returns true or false as well as getting the > value of result if these variables were "plugged in". How do I do > this? > I'm also expecting eqat and result to contain various python > mathematical operators like **, and compounded ()'s. > I'm not sure how to convert the equation; if I have to make a bunch of > if-statements or if there is a python function that already does > something like this.
Yes: eval() >>> vars = {'var_a':10 ,'var_b':4} >>> eqat = "(var_a/2.0) <= var_b" >>> result = "(var_a+var_b)/7" >>> eval(eqat, vars) False >>> eval(result, vars) 2 (Note that I have slightly modified your vars dictionary) See a recent thread about the dangers of eval(). -- Arnaud -- http://mail.python.org/mailman/listinfo/python-list