[Edu-sig] using Python as a calculator

Christian Mascher christian.mascher at gmx.de
Sat Apr 10 15:33:03 CEST 2010


Edward Cherlin wrote:
> [sigh]
> 
> Do math tables in a math array language.
> 
> degrees =. i. 91  NB. 0..90
> 
> radians =. degrees * o. % 180
> 
> table =. |: degrees, 1 2 3 o./ radians

Sorry, I don't know J (Kirby does), but this is exactly the reason I 
prefer Python. Readability counts (for me). For creating a table, most 
people would probably use a spreadsheet anyway, but as I happen to know 
Python, I use it for such tasks from time to time. I can even remember 
the syntax without having used Python for months. Don't think that would 
be the case with J. Not very inclined to learn that.

> 
> where
> 
> =. is assignment
> i. creates a list of consecutive numbers starting at 0.
Who on earth would think of that without a manual?
> NB. is the comment marker 
> o. x is pi times x
Why not pi?
> % x is reciprocal of x, so o. % 180 is pi/180
Don't think that is very useful.
> |: is transpose
Another very special symbol.
> , appends an array to another. It turns a list into a table in order
> to match dimensions.
Lost you there...
> 1 2 3 o. x gives sine, cosine, tangent of x
Why don't they use sin(), cos(), tan() like the rest of the mathematical 
world?
> / creates a table with the given function (o.) applied to two list arguments
> 
> The result is a 91 row, 4 column table of angles and trig function values.
> 
Impressive ;-))
> I can easily give you a short sequence of lessons leading to this
> level, introducing some other arithmetic, transcendental, and
> array-handling functions along the way, and a little more about
> operating on functions to define new functions.

Python is much nearer to standard Math-notation, that is a good thing. I 
like to learn new languages - up to a point. I don't see the added value 
of J in this case.

Just my 2c

Christian



More information about the Edu-sig mailing list