我应该如何将其转换为实数?

时间:2019-04-17 05:57:22

标签: algorithm function class

我尝试了 str repr 。但它们都不起作用,并且仍然返回<< strong> main 。这些东西都位于0x10cefccc0>的UnorderedList对象。

class Stack:
    def __init__(self):
        self.items = UnorderedList()

    def isEmpty(self):
        return self.items == []

    def push(self, item):
        self.items.append(item)

    def __repr__(self):
        return str(self.items)

    def pop(self):
        return self.items.pop()

    def peek(self):
        return self.items[len(self.items) - 1]

    def size(self):
        length = self.items.size()
        count = 0
        for i in range(0, length):

            count += 1
        return count


print(stack_list.__repr__())

结果是: [<< strong> main .Node对象位于0x10db27c18>,<< strong> main .Node对象位于0x10db27d30>]

1 个答案:

答案 0 :(得分:0)

如果您有兴趣获取在“结果是”之后编写的输出,那么(您的问题有点不清楚,您可以使用此代码:

def __repr__(self):
    return '[ %s ]' % ', '.join(repr(item) for item in self.items)

尽管__repr__()函数应该返回对象的表示形式,该函数在解释时应重新创建对象。因此,请考虑以下内容:

class Stack:
    def __init__(self, items):
        self.items = UnorderedList(items)

    def __repr__(self):
        return 'Stack([ %s ])' % ', '.join(repr(item) for item in self.items)

这将产生repr的输出,类似于Stack([ "foo", "bar" ])

但是,我发现您编写基于 unordered 列表的 stack 很有意思。这很令人困惑,我不建议首先这样做。通常,堆栈具有固定的顺序。