【发布时间】:2016-05-06 14:08:34
【问题描述】:
我需要帮助,因为我不知道该做什么了:
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 中频; 4 2 英寸 如果我尝试打印它,它会返回:
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 中尝试它,它只会像我想要的那样打印它。 希望你能帮助我,...一如既往=^)。感谢阅读。
【问题讨论】:
-
大声笑没有。这是由于复制粘贴造成的。
-
好吧,这不是您正在运行的代码,因为执行
print(BellFord('whatever'))会触发错误__str__ returned non-string (type list)。 -
不,它正是我正在运行的代码,它返回 <__main__.bellford object at>。
-
好吧,你要编辑你的问题来解决它吗?
-
@Selcuk 识别不是我的问题。发生这种情况是因为复制粘贴它并提交问题而不忽略它。
标签: python string class printing