Hello there, I am attending the lectures, and written the codes according to lectures. Professor's codes are working fine, but my one gives an error. I am new to python. Please it's a humble request, just be easy on me while making me understand about the code. It will be much appreciated.
import math ##points as lists def addPoints(p1, p2): r = [] r.append(p1[0]+p2[0]) r.append(p1[1]+p2[1]) return r p = [1,2] q = [3,1] r = addPoints(p,q) print r ##points as classes class cartesianPoint(): pass cp1 = cartesianPoint() cp2 = cartesianPoint() cp1.x = 1.0 cp1.y = 2.0 cp2.x = 3.0 cp2.y = 1.0 def samePoint(p1,p2): return (p1.x == p2.x) and (p1.y == p2.y) def printPoint(p): print '(' + str(p.x) + ', ' +str(p.y) + ')' class polarPoint: pass pp1 = polarPoint() pp2 = polarPoint() pp1.radius = 1.0 pp1.angle = 0 pp2.radius = 2.0 pp2.angle = math.pi / 4.0 class cPoint(): def __init__(self,x,y): self.x = x self.y = y self.radius = math.sqrt(self.x*self.x + self.y*self.y) self.angle = math.atan2(self.y, self.x) def cartesian(self): return (self.x, self.y) def polar(self): return (self.radius, self.angle) def __str__(self): return '(' + str(self.x) + ', ' + str(self.y) + ')' def __cmp__(self,other): return (self.x == other.x) and (self.y == other.y) And below is the error. Evrything works fine untill class polar point, but when I try to pick point (instance) p in the list i.e x,y (1,2,3,1). It does not work. I mean p.x gets the error where it should give me the value of x. And i know this error will go all the way down to def__cmp if i dont fic it from top. >>> p.x Traceback (most recent call last): File "<pyshell#46>", line 1, in <module> p.x AttributeError: 'list' object has no attribute 'x' >>> p.y Traceback (most recent call last): File "<pyshell#47>", line 1, in <module> p.y AttributeError: 'list' object has no attribute 'y' Help will be much appreciated, thanks in advance. -- https://mail.python.org/mailman/listinfo/python-list