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 trialY B
14,136 Pointswhy is this method wrong?
This doesn't seem to pass the objective check, but I've no idea why?
class Store():
open = 9
close = 5
def hours(self):
return "We're open from {} to {}.".format(open, close)
3 Answers
Aimee Ault
29,193 PointsHey Y B !
It looks like you might have an issue with variable scope :)
So, in your hours method, you need to use self to access open and close like so:
return "We're open from {} to {}.".format(self.open, self.close)
This way, you are referencing the variables open and close that are members of the Store class and not variables that the compiler expects to be defined locally within the hours method.
Andreas cormack
Python Web Development Techdegree Graduate 33,011 PointsHi YB
The reason your not getting the desired result is because in your hours method you are trying to access the open and close properties without referencing the current instance.
do it this way
class Store():
open = 9
close = 5
def hours(self):
return "We're open from {} to {}.".format(self.open,self.close)
Y B
14,136 PointsThanks for your answers,that makes it so much clearer and is a big help.
Thanks.