David Merrick wrote: > def append(self,item): > '''Adds an item to the end of the List''' > > current = self.head > previous = None > while current.getNext() != None: > previous = current > current = current.getNext() > if current.getNext() == None: > previous = previous.setNext(current) > current = current.setNext(item)
> myList.append(24) Your append() method expects item to be a Node instance, so you have to wrap your data (24 in the example) into a Node myList.append(Node(24)) or modify append() accordingly. Note that there is at least one other problem with your append() implementation: you cannot append to an empty UnorderedList because you don't handle the case where self.head is None. Stylistically your code looks like a literal translation from Java; in Python it is good practice to avoid getter/setter methods and use attributes (or properties) instead. Also, we have a cool way to implement iteration: generators. #untested class UnorderedList(object): def __iter__(self): current = self.head while current is not None: yield current.data You can then write print 24 in myList instead of print myList.search(24) In idiomatic Python you'd call the length() method __len__() and invoke it as print len(myList) _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor