error


S

speen saba

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 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.
 
Ad

Advertisements

C

Cameron Simpson

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.

Well, right at the top of your code you set "P" to be a list:
p = [1,2]

Are you sure you don't want to print pp1.x or pp2.x or cp1.x or cp2.x?

Cheers,
--
Cameron Simpson <[email protected]>

Achilles, a PHD student, had to choose between having a passionate but poor
life as an academic or a dull but rich life as a IT professional yuppie.
Legend has it that he chose poverty.
 
Ad

Advertisements

D

Dave Angel

p = [1,2]
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.
Traceback (most recent call last):
File "<pyshell#46>", line 1, in <module>
p.x
AttributeError: 'list' object has no attribute 'x'

You have 4 different implementations, but you're mixing the first
with the others. Since p is a list, you need to use list semantics,
p [0] and p [1]. The .x attribute is not defined on a list.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top