Average calculation Program *need help*

Rustom Mody rustompmody at gmail.com
Thu May 12 12:01:27 EDT 2016


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?



More information about the Python-list mailing list