计算两点距离,,,为什么不能这么写。。
import math as mclass Point (x1,x2,y1,y2):
A = (x1,y1)
B = (x2,y2)
def getlenght(self,A,B):
a = m.sqrt(A-B**2 + A-B**2)
报错
Traceback (most recent call last):
File "C:/Users/Administrator/1.py", line 3, in <module>
class Point (x1,x2,y1,y2):
NameError: name 'x1' is not defined import math as m
class Point:
def __init__ (self,x1,x2,y1,y2):
self.A = (x1,y1)
self.B = (x2,y2)
def getlenght(self,A,B):
a = m.sqrt(A-B**2 + A-B**2)
return int (a)
这样呢。。。怎么还是报错。。。
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
Q.getlenght()
TypeError: getlenght() missing 2 required positional arguments: 'A' and 'B' getlenght 在代码里不是有两个参数了嘛。。。
还有 变量前面加上 self 和不加self有什么区别。。。 本帖最后由 jijidata 于 2014-8-11 21:49 编辑
墙角君 发表于 2014-8-11 21:41
这样呢。。。怎么还是报错。。。
import math as m
class Point:
def __init__ (self,x1,x2,y1,y2):
self.A = (x1,y1)
self.B = (x2,y2)
def getlenght(self):
a = m.sqrt((self.A-self.B)**2 + (self.A-self.B)**2)
return a
>>> Q = Point(1,2,3,4)
>>> Q.getlenght()
1.4142135623730951
还有你的长度计算的公式错了,少两对括号 jijidata 发表于 2014-8-11 21:48
还有你的长度计算的公式错了,少两对括号
soga! 谢谢! 墙角君 发表于 2014-8-11 21:41
这样呢。。。怎么还是报错。。。
get里面不需要再有AB了,不然的话调用get的时候还需要两个参数才行,而且get里面的AB前面要加self.,否则get这个方法没有实例对象的参数传进去,是不能使用的
页:
[1]