Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Python Object-Oriented Python Inheritance Super!

Oliver White
Oliver White
5,750 Points

sorting a list

Hello

I am having a super basic problem -- I need an exsiting list after it is appended and sort the list-

Have I got too simple with my idea -- see below

class Inventory: def init(self): self.slots = []

def add_item(self, item):
    self.slots.append(item)

class SortedInventory(Inventory):

def add_item(self,item):
    super().add_item(item)
    self.slots.append(item)
    self.slots.sort()
inventory.py
class Inventory:
    def __init__(self):
        self.slots = []

    def add_item(self, item):
        self.slots.append(item)


class SortedInventory(Inventory):

    def add_item(self,item):
        super().add_item(item)
        self.slots.append(item)
        self.slots.sort()

2 Answers

Steven Parker
Steven Parker
241,434 Points

You're pretty close, and the sorting is fine. But a duplicate item is being added:

    def add_item(self,item):
        super().add_item(item)  # this adds the item as the instructions asked for
        self.slots.append(item) # but this ALSO adds the item, causing a duplicate
        self.slots.sort()

Just delete the line that adds the duplicate and you'll pass the challenge.

Oliver White
Oliver White
5,750 Points

AHHHH

thanks so much -- I should have spotted that- not sure how that got left in

Thanks