# Mean, median, and mode

Robert Brewer fumanchu at amor.org
Sun Dec 5 09:23:08 CET 2004

```(now that we have a meaningful subject line)

Alfred Canoy wrote:
> >>  I'm just new to programming and would like to ask for help..
> >>
> >> Build a module that contains three functions that do the following:
> >>
> >>       a.. Compute the average of a list of numbers
> >>       b.. Finds the statistical median value of a list of numbers
> >>       c.. Finds the mode of a list of numbers
> >>
> >> Can you please give me clue how I should start solving the
> >> following problem
> >> below? Here's the source code that I did so far:
> >>
> >> # compute the average of a list of numbers:
> >> # Keeps asking for numbers until 0 is entered
> >> # Prints the average value
> >>
> >> count = 0
> >> sum = 0
> >> number = 1
> >>
> >> print 'Enter 0 to exit the loop'
> >> while number != 0:
> >>     number = input ('Enter a number: ')
> >>     count = count + 1
> >>     sum = sum + number
> >> count = count -1
> >> print ' The average is:', sum/count

For the mode, you might build a dictionary:

freq = {}
while number != 0:
number = input ('Enter a number: ')
count = count + 1
sum = sum + number
try:
freq[number] += 1
except KeyError:
freq[number] = 1

...then you can check for the largest value in that dictionary:

max = 0
mode = None
for k, v in freq.iteritems():
if v > max:
max = v
mode = k

I leave the rest in your capable hands... ;) Including the case where
two numbers occur in equal frequencies. ;;)

Robert Brewer
MIS
Amor Ministries
fumanchu at amor.org

```