2012-03-25 7 views
0

Salut am nouveau à python trouvé ce code dans un livre et je voulais l'essayer, mais la ligne 4 dit son une erreur "type rencontré lors de l'attente d'un des suivants et une liste de crochets.type déclaration erreur python

#: arrays/PythonLists.py 

aList = [1, 2, 3, 4, 5] 
print type(aList) # <type 'list'> 
print aList # [1, 2, 3, 4, 5] 
print aList[4] # 5 Basic list indexing 
aList.append(6) # lists can be resized 
aList += [7, 8] # Add a list to a list 
print aList # [1, 2, 3, 4, 5, 6, 7, 8] 
aSlice = aList[2:4] 
print aSlice # [3, 4] 


class MyList(list): # Inherit from list 
    # Define a method, 'this' pointer is explicit: 
    def getReversed(self): 
     reversed = self[:] # Copy list using slices 
     reversed.reverse() # Built-in list method 
     return reversed 

list2 = MyList(aList) # No 'new' needed for object creation 
print type(list2) # <class '__main__.MyList'> 
print list2.getReversed() # [8, 7, 6, 5, 4, 3, 2, 1] 

#:~ 
+0

devrait fonctionner. Quel est le problème? –

+0

Fonctionne pour moi, êtes-vous sûr que c'est exactement ce que vous essayez d'exécuter? –

+0

Etes-vous sûr que ce code ne fonctionne pas? J'ai juste copié-collé et essayé, ça a bien marché. – gefei

Répondre

4

Vous utilisez Python 3.x, où print est une fonction et non plus une déclaration. Le livre est écrit pour Python 2.x, où l'impression est encore une déclaration.

Vous le fixer en utilisant une version de Python correspondant à ce que décrit le livre, ou en obtenant un livre pour une version plus récente de Python (3.x)

Votre problème immédiat peut être résolu en écrivant

print (type(aList)) 
+0

Seule chose que je peux voir, aussi. Les interpréteurs Python 2.x sont A-OK avec le code tel que présenté. – Makoto