I'm working on problem 13-5 in Core Python Programming (2nd Edition).  I am 
supposed to create point class.  Here is what I have so far:

#!/usr/bin/python

class Point(object):
    def __init__(self, x=0.0,y=0.0):
        self.x = float(x)
        self.y = float(y)
        
    def __repr__(self):
        coord = (self.x,self.y)
        return coord
        
    def __str__(self):
        point_str = "(%f,%f)" % self.x, self.y
        return point_str
        
    def get_x(self):
        return self.x
        
    def get_y(self):
        return self.y
        
if __name__ == '__main__':
    print "Creating a point"
    x = raw_input("Enter a x value: ")
    y = raw_input("Enter a y value: ")
    p = Point(x,y)
    print p

I ran the script and got the following error message:

Creating a point
Enter a x value: 1
Enter a y value: 2
Traceback (most recent call last):
  File "point.py", line 27, in ?
    print p
  File "point.py", line 13, in __str__
    point_str = "(%f,%f)" % self.x, self.y
TypeError: not enough arguments for format string

Does anyone know what is wrong?  I'm sure it is something obvious, but I can't 
see it.


      
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to