how to parse standard algebraic notation

math math mathematisch at gmail.com
Wed Oct 1 09:01:22 CEST 2014


On Tuesday, 30 September 2014 23:15:24 UTC+2, Gary Herron  wrote:
> On 09/30/2014 01:53 PM, math math wrote:
> 
> > Hi,
> 
> >
> 
> > I am trying to learn Python while solving exercises.
> 
> >
> 
> > I want to basically write a program that inputs a polynomial in standard algebraic notation and outputs its derivative.
> 
> >
> 
> > I know that I need to get the exponent somehow, but I am not sure how to accomplish this in python (3.3)
> 
> >
> 
> > Do you have any ideas or suggestions? I don't want to use existing modules as this is meant to be a didactic experience.
> 
> >
> 
> > Regards
> 
> 
> 
> This depends on things you have not yet told us.
> 
> 
> 
> In particular -- what "standard algebraic notation"?  For x-squared: 
> 
> x**2 ?  or perhaps  x^2 ?  or something else like some Unicode 
> 
> characters or HTML to get a small superscript 2 above an x.
> 
> 
> 
> Once you give an example of what your input looks like, we can start 
> 
> hashing out how to read it.
> 
> 
> 
> Gary Herron
> 
> 
> 
> -- 
> 
> Dr. Gary Herron
> 
> Department of Computer Science
> 
> DigiPen Institute of Technology
> 
> (425) 895-4418

Thanks Gary (and Chris),

I should have sent a sample expression indeed.

What would be a good starting strategy for writing a program to take the derivative of a polynomial expression, such as this below?:
"x**3 + x**2 + x + 1"

I am a bit confused about my overall strategy. Should one be writing a parser class to split the input on operators and then on the double asterisks? Are there more clever ways? Or is this something one should solve using mathematical formulas instead of parsing the characters?

I just wonder how a seasoned Pythonian would go about a problem like this without using a ready-made derivative function from some module.

Regards,
Felix



More information about the Python-list mailing list