I'm not sure whether you've gotten an anwser (my mail feeds are  
working at cross-purposes right now), but:

On Feb 21, 2007, at 10:42 AM, Timothy Clemans wrote:

>
> I'm trying to pass in an expression to my class Table and use i in the
> for loop for the x variable. How can I do that?
>
> class Table:
>     def __init__(self,range_start,range_end,step,expression):
>         self.range = range(range_start,range_end+1,step)
>       self.expression = expression
>     def __repr__(self):
>         return 'Table of values of %s for %s' %
> (str(self.expression),str(self.range))
>     def __str__(self):
>         string = 'x    |     y\n\n------------\n\n'
>       for x in self.range:
>           string += '%5d|%6d\n\n' % (x,self.expression)
>       return string
> table1 = Table(0,10,1,2*x+3)

I believe that you should treat the 'expression' as a function, in  
that the string you are building up should be done thusly:

            string += '%5d|%6d\n\n' % (x,self.expression(x))

Hope that works for you.

I got a complaint when I tried your example, so I'm not sure how you  
got this output:

> print table1
>
> x    |     y
> ------------
>     0|    21
[snip]

Justin

--
Justin C. Walker, Curmudgeon at Large
Institute for the Absorption of Federal Funds
-----------
My wife 'n kids 'n dogs are gone,
I can't get Jesus on the phone,
But Ol' Milwaukee's Best is my best friend.
-----------



--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to