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 Basic Object-Oriented Python Welcome to OOP Adding to our Panda

please help im stuck , im getting assertion Error

class Panda: species = 'Ailuropoda melanoleuca' food = 'bamboo'

def __init__(self, name, age):
    self.is_hungry = True
    self.name = 'Bao Bao'
    self.age = age

def eat(self):
    self.is_hungry = False
    return f'{self.name} eats {self.food}'

panda_one = Panda('Bao Bao', 10) panda_one.eat()

panda.py
class Panda:
    species = 'Ailuropoda melanoleuca'
    food = 'bamboo'

    def __init__(self, name, age):
        self.is_hungry = True
        self.name = 'Bao Bao'
        self.age = age

    def eat(self):
        self.is_hungry = False
        return f'{self.name} eats {self.food}'

panda_one = Panda('Bao Bao', 10)
panda_one.eat()    

1 Answer

Hi Tafadzwa!

I'll have to admit, the instructions are a little confusing.

This passes all three tasks:

class Panda:
    species = 'Ailuropoda melanoleuca'
    food = 'bamboo'

    def __init__(self, name, age): # You'd use 'Bao Bao' when instantiating the class (not part of the challenge, though)
        self.is_hungry = True
        self.name = name # Use name here, not "Bao Bao" - one misleading instruction
        self.age = age

    def eat(self):
        self.is_hungry = False
        return f"{self.name} eats {self.food}." # You need the period at the end here

    def check_if_hungry(self):
        if self.is_hungry == True:
            self.eat()

# You don't need the two lines that create the instance of the class, but, of course, you would in the real world...
# And this is where you'd pass 'Bao Bao' for name...
# But, if they had been needed, you did code those two lines correctly:
# ======================================================
# panda_one = Panda('Bao Bao', 10) #Correct
# panda_one.eat() # Correct

I hope that helps.

Stay safe and happy coding!