我需要帮助,因为我不知道该怎么做:
class BellFord():
def __init__(self, string = ' '):
self.adjM = [[entry for entry in rows.split(' ')] for rows in \
string.split('; ')]
self.rows = len(self.adjM)
def Edges(self):
A, Edges = self.adjM, []
for i in range(self.rows):
for j in range(self.rows):
if i != j and A[i][j] != 'inf':
Edges.append((i, j))
return dict(Edges)
def __repr__(self):
return self.adjM
def __str__(self):
return self.adjM
问题是我的输入是一个字符串,看起来像这样: inf -1 inf; 6 inf inf; 4 2 inf 如果我尝试打印它,它会返回:
string = 'inf -1 inf; 6 inf inf; 4 2 inf'
print(BellFord(string))
<__main__.BellFord object at 0x84704FD>
我希望它返回
[['inf', '-1', 'inf'], ['6', 'inf', 'inf'], ['4', '2', 'inf']]
如果我在我的shell中尝试使用它,那么它就像我想要的那样打印它。 希望你可以帮助我,......一如既往= ^)。谢谢你的阅读。
答案 0 :(得分:1)
你有缩进问题。将所有内容从def Edges
开始向后移动一级。