On 06/08/2012 00:46, PeterSo wrote:
I am just starting to learn Python, and I like to use the editor
instead of the interactive shell. So I wrote the following little
program in IDLE

# calculating the mean

data1=[49, 66, 24, 98, 37, 64, 98, 27, 56, 93, 68, 78, 22, 25, 11]

def mean(data):
        return sum(data)/len(data)

mean(data1)


There is no syntax highlighting and when I ran it F5, I got the
following in the shell window.


  >>> ================================ RESTART
================================




Any ideas?

I don't know what editor you're using or how it works, but I'm guessing that pressing f5 runs what you've written as a script, right? In that case the interpreter doesn't automatically print the result of expressions in the same way that the interactive interpreter does; you didn't tell it to print anything, so it didn't.


If I added print mean(data1), it gave me a invalid syntax

# calculating the mean

data1=[49, 66, 24, 98, 37, 64, 98, 27, 56, 93, 68, 78, 22, 25, 11]
data2=[1,2,3,4,5]

def mean(data):
        return sum(data)/len(data)

mean(data1)
print mean(data1)

If you're using Python 3.x, you'll need to replace

print mean(data1)

with

print(mean(data1))

since the print statement has been replaced with the print function in Python 3.

If you're instead using Python 2.x then I don't know what the problem is, but in that case your mean() function won't work properly - the forward slash operator between a pair of ints gives you floor division by default, so you should instead have it return something like float(sum(data))/len(data).


--
I have made a thing that superficially resembles music:

http://soundcloud.com/eroneity/we-berated-our-own-crapiness
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to