Hi I wonder if you can help.
I'm confused about how functions should work. Below is some code I write to check my understanding. I'm expecting two functions to be defined. Then called. One returns a random number. The other user input (guessing the number). I expect the return values to act like variables that I can use in a while loop. The programme asks for the user input then crashes. The error report says 'NameError:The name 'userGuess' is not defined. My understanding is wrong somewhere. I thought functions would allow me to return values I could use elsewhere without having to define them initially. I.e. Encapsulation. I've looked for other examples but get the same issue. I expect a function to return a variable I can use elsewhere. Not sure how to do. In the case below I'm not sure how I can use the work of the function elsewhere. Advice welcome. Richard Using Pythonista App on iOS with Python 2.7 on iPhone 5s # coding: utf-8 import random #guess number game #computer generates random number def generateNumber(): computerGuess = int(random.randrange(0,101)) return computerGuess #get user def getUser(): userGuess = int(input('Guess a number')) return userGuess #call for computer and user generateNumber() getUser() #loop to check guess and report while userGuess != computerGuess: if userGuess < computerGuess: print('Too low') getUser() elif userGuess > computerGuess: print('Too high') getUser() elif userGuess > computerGuess: print('Correct!') #Add counter of guess later Sent from my iPhone _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor