如何打印Python中方法的返回值?
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)
嗨,团队,
我正在尝试上面的代码来检查队列。在这里,我想打印出每个循环中正在移除的值。但是在打印时,我只得到了“none”。请帮我看看我需要做什么更改才能达到我的期望。
2 个回答
-1
你的代码在我这儿能正常运行,不过你需要把 Q.Dequeue()
改成 print Q.Dequeue()
。这样写会更符合 Python 的风格:
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)
2
如果你想知道会返回什么,你需要先把它保存到本地,然后打印出你保存的内容,最后再返回你保存的东西。可以这样做:
x = Q.Dequeue()
print(x)
return x