error

speen saba moonlightmadness86 at gmail.com
Wed Nov 27 19:37:37 EST 2013


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.



More information about the Python-list mailing list