python 类里面的函数总是报错显示没有定义

importmatplotlib.pyplotaspltclassTSP:def__init__(self,filename):self.MyList=[]f=open(... import matplotlib.pyplot as plt

class TSP:
def __init__(self,filename):
self.MyList = []
f = open(filename)
for line in f:
l = line.split(';') # Could be ',' depending on your system
for i in range(0,len(l)):
l[i] = l[i].rstrip('\n')
self.MyList.append(l)
f.close()
self.matrix = buildMatrix()
self.tour = []

def buildMatrix(self):
m=zeros([cn,cn],int16)
for i in range(0,cn):
for j in range(0,cn):
m[i][j]=self.distance(i,j)

return m

def distance(self,i,j):
d=(self.city[i][1]-self.city[j][1])**2+(self.city[i][2]-self.city[j][2])**2
d=d**(1/2)
t = TSP('tour26.csv')
print(t.matrix)

Traceback (most recent call last):
File "D:\Python34\tem2.py", line 36, in <module>
t = TSP('tour26.csv')
File "D:\Python34\tem2.py", line 18, in __init__
self.matrix = buildMatrix()
NameError: name 'buildMatrix' is not defined
展开
 我来答
beowulf001
2016-07-18 · TA获得超过296个赞
知道小有建树答主
回答量:134
采纳率:0%
帮助的人:110万
展开全部
buildMatrix类TSP中的函数,所以在类内部调用的话,需要加上self. ,否则会被当成外部函数,所以提示未定义
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2016-07-18
展开全部
改成self.matrix = self.buildMatrix()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式