[Tutor] guess-my-number programme
Wayne Werner
waynejwerner at gmail.com
Fri Sep 23 22:28:40 CEST 2011
On Fri, Sep 23, 2011 at 2:25 PM, ADRIAN KELLY <kellyadrian at hotmail.com>wrote:
> <snip>
>
can anyone explain the *tries* part of this programme to me i know its meant
> to count the number of guesses made by the user by adding 1 but i just cant
> figure out how it does this..........can someone explain?? i.e. tries = 1,
> tries +1 etc.... cant get my head around it...
>
The concept that's confusing you here is something called order of
evaluation, or evaluation strategy:
http://en.wikipedia.org/wiki/Evaluation_strategy
The best way to understand these things is to try it out, and the
interactive interpreter is extremely handy.
I presume you understand the concept of assignment, correct? For example:
>>> tries = 1
Now tries contains 1:
>>> tries = 1
>>> tries
1
The variable 'tries' now contains the value 1 (In Python this is not
technically true, but it's useful to describe it that way).
>>> tries = 4
Now 'tries' contains 4. Of course, just like your standard algebra
variables, you can use your variables in python:
>>> tries * 4
16
>>> tries + tries
8
>>> tries / 1
4
when these expressions are /evaluated/ they produce the mathematical
expression you probably expect. But you can do more than just evaluate
expressions, you can store their results:
>>> lots_of_tries = tries * 100
>>> lots_of_tries
400
So what about the expression that confuses you?
>>> tries = tries + 1
>>> tries
5
Well, the first thing that happens when python sees the equals sign is that
the right hand side of the expression is evaluated, so python takes:
tries = tries + 1
and turns it into
tries = 4 + 1
tries = 5
So each time your program sees 'tries = tries + 1' python evaluates the
right side first, then assigns its value to the variable on the left.
HTH,
Wayne
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20110923/77ec4463/attachment-0001.html>
More information about the Tutor
mailing list