you are spot on......... thanks very much i understand the problem now and its 
been solved.
very clear help
thanks, adrian

 

  



> Date: Thu, 17 Nov 2011 14:01:19 -0500
> From: d...@davea.name
> To: kellyadr...@hotmail.com
> CC: tutor@python.org
> Subject: Re: [Tutor] local variable referenced before assignment
> 
> On 11/17/2011 01:47 PM, ADRIAN KELLY wrote:
> > hi all,keep getting the above error, can't understand or fix it, can anyone 
> > help.
> > def exchange():    euro=1    dollar=1.35    base=50    amount = input ('how 
> > much do you want to change')    if amount>base:        
> > totalreturn=amount*dollar    else:        print 'not enough'    return 
> > totalreturn
> > print exchange()
> >
> >
> You've been doing better, but this one has lost its formatting 
> entirely.  Are you posting in text mode?
> 
> That's not the entire error message.  If you examined the entire 
> traceback, it'd identify the line with the problem, and the particular 
> variable that's being used before it's been defined.
> 
> 
> But since the function is small, i can guess my way through.  The 
> variable is apparently  "totalreturn".  And when you go through the else 
> clause you completely miss the assignment to it.  When you have a 
> mechanism like:
> 
>      if x > y:
>            newval = 49
>      else:
>            print "error message"
>            #newval = -5
>      return newval
> 
> Without that second assignment, you'll get "the above error" whenever 
> the else condition prevails.   newval has no value, and in fact doesn't 
> exist if you go through the else clause.
> 
> 
> -- 
> 
> DaveA
> 
                                          
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to