S

#### speen saba

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 ficit from top.

Traceback (most recent call last):

File "<pyshell#46>", line 1, in <module>

p.x

AttributeError: 'list' object has no attribute 'x'

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.