16 (Class it up) Code runs but codecademy doesn't like it?


#1



Exercise: https://www.codecademy.com/courses/python-intermediate-en-WL8e4/3/2?curriculum_id=4f89dab3d788890003000096#


I get the following error from codecademy, not the console: Oops, try again. It looks like your Triangle class doesn't have a number_of_sides member variable.


I'm not really even sure what a member variable specifically is. So any help is welcome.

This is my code:

number_of_sides = 3
class Triange():
    def __init__(self, angle1, angle2, angle3):
        self.angle1 = angle1
        self.angle2 = angle2
        self.angle3 = angle3
    number_of_sides = 3
    def check_angles(self):
        if self.angle1+self.angle2+self.angle3==180:
            return True
        else:
            return False


#2

The better term is class variable. It is a variable that is shared by all the instances of the class. In this example, we can say that every triangle (every instance of Triangle class) has three sides (number_of_sides = 3).

You can delete the first line, this is a global variable.

There are two problems, completely not related to the number_of_sides:
1. name of the class is Triange and it should be Triangle,
2. every user defined class should inherit from the object.

class Triangle(object):
    def __init__(self, angle1, angle2, angle3):
        self.angle1 = angle1
        self.angle2 = angle2
        self.angle3 = angle3
    number_of_sides = 3
    def check_angles(self):
        if self.angle1+self.angle2+self.angle3==180:
            return True
        else:
            return False

#3

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.