On Thu, Sep 16, 2010 at 08:18:45AM -0400, Ken Green <beachkid...@gmail.com> wrote: > I am unclear on the behavior of using a function. Below is a short > code I wrote to print an amount out after inputting the number of > match. > > # TEST Function.py > > def change(amount): > if match == 1: > amount = 0 > if match == 2: > amount = 0 > if match == 3: > amount = 3 > > match = raw_input("How many matches?: ") > change(match) > print amount > > ERROR Message: > > How many matches?: 2 > Traceback (most recent call last): > File "/home/ken/Python262/TEST Function.py", line 13, in <module> > print amount > NameError: name 'amount' is not defined > > How do I print out the amount of 0 if I input 2? > > Should it be def change(match) instead of def change(amount)? > > Perhaps, change(amount) instead of change(match)? > > Perhaps, I need to add return somewhere? > > Thanking you all in advance for your assistance. > > Ken If you want to get value from a function you whould return it, from that function. So, you should use something like next code:
def change(amount): amount = -1 # if match == 1: amount = 0 if match == 2: amount = 0 if match == 3: amount = 3 return amount match = raw_input("How many matches?: ") amount = change(match) print amount And please note next thing. amount variable inside function's body is not the same as amount outside. You should read about variable scope (local/global variables). -- Please, use plain text message format contacting me, and don't use proprietary formats for attachments (such as DOC, XLS) use PDF, TXT, ODT, HTML instead. Thanks. _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor