Python 在课堂上改变印刷方式

Python 在课堂上改变印刷方式,python,string,class,printing,Python,String,Class,Printing,我需要帮助,因为我不知道该怎么办: 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,

我需要帮助,因为我不知道该怎么办:

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>
如果我在我的shell中尝试,而不是在类中,它只是按照我想要的方式打印它。
希望你能帮助我,。。。一如既往=^)。谢谢阅读。

您有缩进问题。将所有内容从
def Edges
向后移动一级。

lol否。这是由于复制粘贴造成的。好吧,这不是您正在运行的代码,因为执行
打印(BellFord('whatever'))
将触发错误
\uu str\uuuuuuuuuuuuuuuuuuuuuuuuuuuu。返回的非字符串(类型列表)
。不,这正是我正在运行的代码,它返回的。好吧,你打算编辑你的问题来解决它吗?@Selcuk识别不是我的问题。发生这种情况是因为复制粘贴它并提交问题,而没有忽略它。
[['inf', '-1', 'inf'], ['6', 'inf', 'inf'], ['4', '2', 'inf']]