"Jones, Lawrence D" <lawrence.jo...@imperial.ac.uk> wrote
My code is below. But can someone please explain to me
why the following variable has to be placed where it is
Others have explained about variable creation and the fact
you need to be inside the loop to get different results for
each iteration.
coin = random.randrange(2)
I just want to pick up on something you said.
You asked about the "variable".
The variable is "coin". It can go anywhere before the point
of use, even the first line of your code. You could have done
coin = None
or
coin = 0
and it would work just fine.
What needs to be inside the loop is the call to the
randrange() function. That is what is simulating the coin flip.
So you need to distinguish the difference between variable
creation (which in Python happens by means of the first
assignment of a value) and function application (where you
call a function and assign its return value to a variable.)
In your code you create the variable coin at the same time
as you apply the function, but you could have done those
two things separately and the code would still work.
It might seem like I'm splitting hairs but it starts to make
a difference in some other cases, like this:
while True:
coin = coin + someFunction()
This will raise an error because you are using the value
of coin (on the right hand side) before it has been created.
You need to write it like this:
coin = 0
while True
coin = coin + someFunction()
It is very important in programming to be clear in your mind
about these different concepts, especially when deciphering
error messages.
HTH,
--
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor