Как напечатать возвращаемое значение метода в Python?

python python-2.7 python-3.x return ipython

6137 просмотра

2 ответа

class Queue():
    def __init__(self):
        self.items = []

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

    def Enqueue(self,item):
        return self.items.insert(0, item)

    def Size(self):
        return len(self.items)

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

Q = Queue()    
def Hotpot(namelist,num):

    for name in namelist:
        Q.Enqueue(name)

    while Q.Size() > 1:
        for i in range(num):
           Q.Enqueue(Q.Dequeue())
        Q.Dequeue()
    return Q.Dequeue() # I would like to print and see what is getting removed, I tried with x = Q.Dequeue(), print x and print Q.Dequeue() but im getting "None"



print Hotpot(['A','B','C','D','E','F'],7)

Привет, команда, я пробую приведенный выше код для проверки очереди, здесь я хотел бы напечатать, какое значение удаляет каждый цикл. Во время печати я не получаю ничего, пожалуйста, помогите мне, какие изменения я должен сделать для моих ожиданий.

Автор: Murali Perumal Источник Размещён: 12.11.2019 10:00

Ответы (2)


2 плюса

Если вы хотите знать, что будет возвращено, вам нужно сохранить его локально, распечатать то, что вы сохранили, а затем вернуть то, что вы сохранили. Что-то вроде:

    x = Q.Dequeue()
    print(x)
    return x
Автор: Ethan Furman Размещён: 06.08.2014 06:39

-1 плюса

Ваш код работает для меня, когда вы меняете Q.Dequeue()на print Q.Dequeue(). Лучшим питоном будет:

from collections import deque

def hotspot(names, num):
    queue = deque(reversed(names))
    while len(queue)>1:
        queue.rotate(num)
        print queue.pop()
    return queue.pop()

print hotspot(['A','B','C','D','E','F'], 7)
Автор: Daniel Размещён: 06.08.2014 06:29
Вопросы из категории :
32x32