Arnaud Delobelle wrote:
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
Hi,
I now have a slight problem with this. This doesnt seem to work:
>>> vars = {'var a':10 ,'var b':4}
>>> eqat = "(var a/2.0) <= var b"
>>> eval(eqat, vars)

Traceback (most recent call last):
 File "<pyshell#11>", line 1, in <module>
   eval(eqat, vars)
 File "<string>", line 1
   (var a/2.0) <= var b
        ^
SyntaxError: invalid syntax

So eval can't take spaces? is there a way to go around this?
Thanks again for any suggestions
Cheers
Astan

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to