On 16Sep2013 16:33, William Bryant <[email protected]> wrote:
| Hey I am new to python so go easy, but I wanted to know how to make a program
that calculates the maen.
|
| List = [15, 6, 6, 7, 8, 9, 40]
| def mean():
| global themean, thesum
| for i in List:
| thecount = List.count(i)
| thesum = sum(List)
| themean = thesum / thecount
|
| Why doesn't this work?
Well:
- always include the output you get from your program, and say
why you think it is incorrect
- just style: we tend to name variables in lower case in Python, and
classes with an upper case letter; "List" is a bit odd (but
"list" is taken; how about "values"?)
- more than style: WHY are you using global variables; just return the mean
from the function!
- teh variable "List" inside the function is _local_; your function does not
accept a parameter
- sum(List) sums the whole list
you run it many times
why?
- what do you think "count()" does?
- you should print i, thecount and thesum on each iteration of
the list; it will help you see what your function is doing, and
therefore to figure out what it is doing wrong
I would write a mean like this:
def mean(values):
return sum(values) / len(values)
There are circumstances where that is simplistic, but it is the classic
definition of the mean.
Cheers,
--
Cameron Simpson <[email protected]>
Microsoft Mail: as far from RFC-822 as you can get and still pretend to care.
- Abby Franquemont-Guillory <[email protected]>
--
https://mail.python.org/mailman/listinfo/python-list