我不知道这里有什么问题,当我运行代码时没有任何反应!这是代码:
class Stack():
"A container with a last-in-first-out (LIFO) queuing policy."
def __init__(self,list=[]):
self.list =list
def push(self, item):
"Push 'item' onto the stack"
return self.list.append(item)
def pop(self):
"Pop the most recently pushed item from the stack"
return self.list.pop()
s=Stack([6,7])
s.push(5)
我希望看到s被创建为列表[6,7],然后将5添加到其中。但没有任何反应。我该怎么办?
答案 0 :(得分:2)
您的代码差不多。你只需打印一些东西就能看到结果!
我只想告诉你一个非常讨厌的错误。您正在使用变异类型作为默认参数!看看这个例子:
s=Stack()
s.push(1)
s2=Stack()
print(s2.list) # should be empty
此代码实际打印[1]
!有关详细信息,请阅读此article。
答案 1 :(得分:1)
import sys
import inspect
import heapq
import random
class Stack():
"A container with a last-in-first-out (LIFO) queuing policy."
def __init__(self,list=[]):
self.list =list
def push(self, item):
print("Push 'item' onto the stack")
return self.list.append(item)
def pop(self):
print("Pop the most recently pushed item from the stack")
return self.list.pop()
def printObj(self):
print("Printing stackObj: ")
for x in self.list:
print(x)
s=Stack([6,7])
s.push(5)
s.printObj()
据我所知,它正在做你想做的事,你忘了你的prints
:)