class Len2:
def __init__(self):
pass
def set(self,x,y):
self.g=x
self.h=y
def dis(self,po1,po2):
dis=(po1.g-po2.g)**2+(po1.h-po2.h)**2
a=Len2()
a.set(1,1)
b=Len2()
b.set(5,4)
c=Len2()
print c.dis(a,b)
想算两个点的距离,可是这段运行print了None,求问各种大神原因!谢谢啦。
没return?
a,b都没有赋值啊。
感觉好别扭,为什么计算两个点的距离却需要第三个对象.
class Len2:
def init(self):
pass
def set(self,x,y):
self.g=x
self.h=y
return set
def dis(self,po1,po2):
dis=(po1.g-po2.g)2+(po1.h-po2.h)2
import math
print math.sqrt(dis)
return dis
a=Len2()
a.set(1,1)
b=Len2()
b.set(5,4)
a.dis(a,b)
因为 def dis 这个方法没有返回值,因此你得到的就是 None。
把 def dis 那段改成下面的就好了。
def dis(self,po1,po2):
dis=(po1.g-po2.g)**2+(po1.h-po2.h)**2
return dis