Bottom Page

• 0 Vote(s) - 0 Average
• 1
• 2
• 3
• 4
• 5
 Please help! Problem with my Point object itrema Unladen Swallow Posts: 2 Threads: 1 Joined: Mar 2019 Reputation: 0 Likes received: 0 #1 Mar-05-2019, 09:20 AM Hello everyone! I am having a problem with my code and after minutes of search, I landed here. I need your help. Here is the problem: We want to create a Point object capable of handling the most basic vector operations; we want our Point object to handle addition and subtraction. For two points (x1,y1)+(x2,y2)=(x1+x2,y1+y2) and similarly for subtraction. Implement a method within Point that allows two Point objects to be added together using the + operator, and likewise for subtraction. Here is my code: ```class Point(object): def __init__(self, x, y): self.x = x self.y = y def __repr__(self): return "Point({0}, {1})".format(self.x, self.y) def __add__(self, other): a = self.x + other.x b = self.y + other.y return "Point({a}, {b})" def __sub__(a, b): c = self.x - other.x d = self.y - other.y return "Point({c}, {d})" ```And I've got type erreor. Can anyone help me? By the way if you have an idea for multiplication, I'll be.... DeaD_EyE Da Bishop Posts: 1,113 Threads: 5 Joined: May 2017 Reputation: 109 Likes received: 245 #2 Mar-05-2019, 09:45 AM ```class Point(object): __slots__ = ['x', 'y'] def __init__(self, x, y): self.x = x self.y = y def __repr__(self): return "Point({0}, {1})".format(self.x, self.y) def __add__(self, other): x, y = self.x + other.x, self.y + other.y return self.__class__(x, y) def __sub__(self, other): x, y = self.x - other.x, self.y - other.y return self.__class__(x, y) ``` added __slots__ to save memory of the crated object from class method signature of sub was wrong A Point should be immutable. Doing an operation with two points, should return a new point. Instead of `self.__class__`, you can use also direct the name `Point`. The first one is good for inheritance. For training, you could add other methods. For example a conversion to polar coordinates: https://en.wikipedia.org/wiki/Polar_coor...oordinates You can use a new class for this different representation or you do it inside of the `Point` class, maybe as a property. My code examples are always for Python >=3.6.0 Almost dead, but too lazy to die: https://sourceserver.info All humans together. We don't need politicians! itrema Unladen Swallow Posts: 2 Threads: 1 Joined: Mar 2019 Reputation: 0 Likes received: 0 #3 Mar-05-2019, 09:57 AM Thank you very much for your help. It worked « Next Oldest | Next Newest »

Top Page

 Possibly Related Threads... Thread Author Replies Views Last Post problem with "hiding" object league55 4 860 Jan-16-2018, 11:21 PM Last Post: league55

Forum Jump:

Users browsing this thread: 1 Guest(s)