Как мне преобразовать его в реальное число? - PullRequest
0 голосов
/ 17 апреля 2019

Я пробовал оба str и repr . но оба они не работают и по-прежнему возвращают <<strong> main .UnorderedList объект в 0x10cefccc0> эти вещи.

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 голосов
/ 17 апреля 2019

Если вы заинтересованы в получении результата, который вы написали после «result is», то (ваш вопрос немного неясен и) вы можете использовать этот код:

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" ]).

Однако я нахожу странным, что вы программируете стек который основан на неупорядоченном списке .Это сбивает с толку, и я бы не рекомендовал делать это в первую очередь.Обычно стеки имеют фиксированный порядок своих предметов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...