[Tutor] Is IDLE prone to memory losses ?
Gregor Lingl
glingl@aon.at
Wed, 12 Dec 2001 09:46:53 +0100
----- Original Message -----
From: "Danny Yoo" <dyoo@hkn.eecs.berkeley.edu>
To: "Jean Montambeault" <jrm@videotron.ca>
Cc: <tutor@python.org>
Sent: Wednesday, December 12, 2001 9:15 AM
Subject: Re: [Tutor] Is IDLE prone to memory losses ?
On Wed, 12 Dec 2001, Jean Montambeault wrote:
> OK. If I run this I get the error message following:
>
> ====================================
>
> #! /usr/bin/env python
>
> from Tkinter import *
>
> def move():
> "déplacement de la balle"
> global x1, y1, dx, dy, flag
> x1, y1= x1 + dx, y1 + dy
> for c in range[1,6]:
^^^^^^^^^^
There is something very suspicious about this line: I just tried this in
the interpreter, and:
###
>>> for c in range[1, 6]:
... print c
...
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: unsubscriptable object
###
And this fits closely with the TypeError message that you were getting:
> TypeError: unsubscriptable object
.... since your error message
still looked very strange to me. Hmmm... Try to fix the subscripting
problem above, and see if that clears things up for you.
I think this is the whole story. The error-message means - in my opinion -
that range is not a subscriptable object:
>>> type(range)
<type 'builtin_function_or_method'>
>>>
subscription means getting acces to an element of some compund data object
via an index,
as is possible for strings, lists etc. This is of course not possible for a
built-in functin as range()
(but this is what you tried by range[])
See also: http://www.python.org/doc/current/ref/assignment.html
hope that "clears things up"
Gregor