[Tutor] Bug in python, or is it just 3am
Liam Clarke
ml.cyresse at gmail.com
Sat Apr 22 07:01:25 CEST 2006
Hi Ryan,
I see what confused you; the
"
>>> number + 1
6
>>> print number
5
"
part. Yeah, it's only evaluating the the first one. So you're asking
it "What's number + 1"?
Whereas,
>>> number = number + 1
or
>>> number += 1
Is saying "Make number equal number plus 1"
Ha, it's all a learning experience.
Regards,
Liam Clarke
On 4/21/06, Alan Gauld <alan.gauld at freenet.co.uk> wrote:
> > But when i use a number = number + 1
> > right after the value stays the same,
>
> I'm not sure what you mean by that.
>
> > Now i thought that number = number + 1 just wasn't
> > vailed in python untill i tried it again and it
> > worked,
>
> variable = variable + 1
>
> is perfectly valid. It is not the normal math meaning of an equation
> however, it is an assignment statement. In a language like Smalltalk
> or Pascal they use a different symbol (:=) for assignment which
> is IMHO A Good Thing(TM) And they traditionally read that
> symbol as "becomes", thus:
>
> variable := variable + 1
>
> is read: "variable becomes variable plus one"
>
> What it means is that variable takes on the previous value
> of variable plus one. So if it starts as 42 it ends as 43
>
> This is such a common thing to do that Python actually
> has a shorthand for it:
>
> variable += 1
>
> And after all that, I've just realised that I don't discuss this
> at all in my tutorial so I need to add an explanation this weekend.
> So thanks for asking the question! :-)
>
> HTH,
>
> Alan G
> Author of the learn to program web tutor
> http://www.freenetpages.co.uk/hp/alan.gauld
>
>
> _______________________________________________
> Tutor maillist - Tutor at python.org
> http://mail.python.org/mailman/listinfo/tutor
>
More information about the Tutor
mailing list