2016-06-02 8 views
0

Ich bin eine verkettete Liste in Python implementieren. Allerdings gibt meine Einfügeoperation den folgenden Fehler aus. Kann jemand helfen, dies zu beheben? Meine Liste wird Kopf als der erste Knoten haben. Nachfolgende Knoten werden in der Einfügeoperation angehängt.brauche Hilfe in Python-Liste

Ausgabe:

10 
Traceback (most recent call last): 
    File "z.py", line 45, in <module> 
    list_mgmt() 
    File "z.py", line 43, in list_mgmt 
    ll.display() 
    File "z.py", line 32, in display 
    print current.get_data() 
AttributeError: 'function' object has no attribute 'get_data' 

class Node: 
    def __init__(self, data): 
     self.data = data 
     self.nextnode = None 

    def get_data(self): 
     return self.data 

    def get_nextnode(self): 
     return self.nextnode 

    def set_nextnode(self, node): 
     self.nextnode = node 

class LinkList: 
    def __init__(self): 
     self.head = None 

    def insert(self, data): 
     if self.head == None: 
      current = Node(data) 
      self.head = current 
     else: 
      current = self.head 
      while current.get_nextnode() is not None: 
       current = current.get_nextnode 
      current.set_nextnode(Node(data)) 

    def display(self): 
     current = self.head 
     while current is not None: 
      print current.get_data() 
      current = current.get_nextnode 

    #def delete(self, data): 
    #def size(self): 
    #def search(self, data): 

def list_mgmt(): 
    ll = LinkList() 
    ll.insert(10) 
    ll.insert(20) 
    ll.display() 

list_mgmt() 

+0

Warum eine verkettete Liste in Python implementieren? –

Antwort

0

On the line:

current = current.get_nextnode 

You're missing parenthesis meaning "call that function", here your're just binding the function to the current variabel, was offensichtlich auf die nächste 'function' object has no attribute 'get_data'.