[Tutor] Will the following code ever exit?
Nathan Pinno
falcon3166 at hotmail.com
Sat Sep 17 03:25:30 CEST 2005
Thanks, but when I run the code, even after that change it always just
prints the questions, correct questions(which is always 0), and percent
right(always 0). How do I make it enter the quiz.
Thanks,
Nathan Pinno
----- Original Message -----
From: "John Fouhy" <john at fouhy.net>
To: "Nathan Pinno" <falcon3166 at hotmail.com>
Cc: <tutor at python.org>
Sent: Friday, September 16, 2005 7:20 PM
Subject: Re: [Tutor] Will the following code ever exit?
On 17/09/05, Nathan Pinno <falcon3166 at hotmail.com> wrote:
> def add(a,b):
> answer = a+b
> guess = float(raw_input(a," + ",b," = "))
Hi Nathan,
When you define a function, any variables you create in the function
are _local_ variables. This means that they only exist within the
function, and when the function exits, python will forget about them.
As an example, consider the following code:
###
total = 13
def add(a, b):
total = a + b
add(2, 4)
print total
###
The print statement at the end will print out 13, not 6. The best way
to get output from a function is to use a return statement. So, we
could change your add function to look something like this:
###
def add(a, b):
answer = a+b
guess = float(raw_input(a," + ",b," = "))
return answer, guess
###
Then, you can use the function in your program like this:
###
answer, guess = add(num1, num2)
###
This will get the return values of the function and put it into
variables which you can access from the rest of your program.
Hope this helps!
--
John.
More information about the Tutor
mailing list