Getting started with IDLE and Python - no highlighting and no execution

Rotwang sg552 at hotmail.co.uk
Sun Aug 5 20:09:30 EDT 2012


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



More information about the Python-list mailing list