[Tutor] TypeError: not enough arguments for format string
Christopher Spears
cspears2002 at yahoo.com
Wed Jul 2 06:36:57 CEST 2008
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.
More information about the Tutor
mailing list