Greetings kobsx4, >Hello all, I have been struggling with this code for 3 hours now >and I'm still stumped. My problem is that when I run the following >code:
>------------------------------------------------------------------------------ >#this function will get the total scores >def getScores(totalScores, number): > for counter in range(0, number): > score = input('Enter their score: ') > totalScores = totalScores + score > > while not (score >= 0 and score <= 100): > > print "Your score must be between 0 and 100." > score = input('Enter their score: ') > > > > return totalScores >------------------------------------------------------------------------------ >the program is supposed to find the average of two test scores and >if one of the scores is out of the score range (0-100), an error >message is displayed. The main problem with this is that when >someone types in a number outside of the range, it'll ask them to >enter two scores again, but ends up adding all of the scores >together (including the invalid ones) and dividing by how many >there are. Please help. Suggestion #1: -------------- When you are stuck on a small piece of code, set it aside (stop looking at it) and start over again; sometimes rewriting with different variable names and a clean slate helps to highlight the problem. Professional programmers will tell you that they are quite accustomed to 'throwing away' code. Don't be afraid to do it. (While you are still learning, you might want to keep the old chunk of code around to examine so that you can maybe figure out what you did wrong.) Suggestion #2: -------------- Put a print statement or two in the loop, so that you see how your variables are changing. For example, just before your 'while' line, maybe something like: print "score=%d totalScores=%d" % (score, totalScores,) Suggestion #3: -------------- Break the problem down even smaller (Rustom Mody appears to have beat me to the punch on that suggestion, so I'll just point to his email.) Hint #1: -------- What is the value of your variable totalScores each time through the loop? Does it ever get reset? Good luck with your degubbing! -Martin -- Martin A. Brown http://linux-ip.net/ -- https://mail.python.org/mailman/listinfo/python-list