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

P

PeterSo

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.



Any ideas?
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)
 
R

Rotwang

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.



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).
 
M

Mark Lawrence

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

[snip]

I can't comment on IDLE as I've never used it, but you're doing yourself
a big disservice if you don't use the interactive shell. Trying code
snippets at the interactive prompt is one of the big benefits of using
Python, ignore it at your peril :)
 
M

MRAB

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.
It looks like it's IDLE.
If I added print mean(data1), it gave me a invalid syntax
Which suggests to me that it's Python 3.
# 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).
 
M

Matthew Barnett

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.
It looks like it's IDLE.

Actually, he does say that it's IDLE at the start.
[snip]
 
R

Rotwang

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

[...]

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.
It looks like it's IDLE.

Actually, he does say that it's IDLE at the start.
[snip]

Doh! Not sure how I missed that, sorry.
 
T

Terry Reedy

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

If properly installed and working, IDLE does syntax highliting if and
only if you name the file with a .py, .pyw, .pyo extension. I have a
'play around' directory with a tem.py file that is always in the recent
files lists. I use it for short shippets that are two long to directly
type into the shell.
 
P

PeterSo

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)

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).

Your right, it is v 3 so print(mean(data1)) worked.
Thanks.
I still do not have any highlighting in the IDLE editor.
 
S

soloflyr

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.




================================





Any ideas?

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)

did you call you file xxx.py IDLE looks for the .py extension to identify the program as python code.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,014
Latest member
BiancaFix3

Latest Threads

Top