On Sun, 04 Jan 2009 22:55:09 -0600, Derek Martin wrote: > On Sun, Jan 04, 2009 at 09:30:20PM -0500, Steve Holden wrote: >> > I'm going to go out on a limb and assert that there's NO POSSIBLE WAY >> > a student could intuit Python's variable assignment behavior, having >> > never been exposed to that same behavior prior. It needs to be >> > taught. >> > >> As does assignment of any kind. > > I'm not sure that's true. Having taken algebra prior to learning Basic, > I intuitively understood what this program would do when I executed it, > the first time I saw the code, and before I read the explanation: > > 10 let x = 10 > 20 print x
Do you really thought of `x` as a named memory location where the bit pattern for the floating point value 10 is stored, with just the algebra knowledge!? Isn't "Ah there the name `x` is bound to the value 10." more likely? As it is the technically easier and IMHO more intuitive explanation when you go from math to programming. > [Well, to be honest it's been a very long time since I've programmed in > Pet BASIC, and the syntax may be wrong. The point is, just as I did > then, I am positive that you intuitively understand what the above is > intended to do, even if it is not valid BASIC syntax -- because if you > did not, we would not be having this discussion.] Syntax is correct. :-) The ``let`` is optional in Commodore BASIC. But where is the difference to x = 10 print x ? Wouldn't you have guessed what this Python program will do just the same? Ciao, Marc 'BlackJack' Rintsch -- http://mail.python.org/mailman/listinfo/python-list