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



More information about the Python-list mailing list