On Thursday, May 12, 2016 at 9:18:08 PM UTC+5:30, Jake Kobs wrote:
> 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.

I suggest you conceptualize the problem into 3 sub-problems:
- IO
- average computation
- validation (between 0 and 100)

For starters ignore validation.
So we only have IO + computation
ie Input then computation then Output

Now if your input needs to feed into a computation you need a *data-structure*
I suggest you consider lists
eg the 5 scores
4
2
1
3
5
would be represented as the list [4,2,1,3,5]
Their average -- 3 -- is to be *computed* and then to be given back to the user
-- ie *output*

Does this help start you off?
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to