class SequenceStack:
def init(self):
self.maxstacksize = 10
self.s = [None for x in range(0, self.maxstacksize)]
self.top = -1
def initstack(self):
self.maxstacksize = 10
self.s = [None for x in range(0, self.maxstacksize)]
self.top = -1
def stackvisit(self,element):
print(element,end = ' ')
def isemptystack(self):
if self.top == -1:
iTop = True
else:
iTop = False
return iTop
def pushstack(self, x):
if self.top < self.maxstacksize - 1:
self.top = self.top + 1
self.s[self.top] = x
else:
print("栈满")
return
def popstack(self):
if self.isemptystack():
print("栈为空")
return
else:
itop = self.top
self.top = self.top - 1
return self.s[itop]
def stacktraverse(self):
if self.isemptystack():
print("栈为空")
return
else:
for i in range(0, self.top + 1):
self.stackvisit(self.s[i])
def gettopstack(self):
if self.isemptystack():
print("栈为空")
return
else:
return self.s[self.top]
def getstacklength(self):
if self.isemptystack():
print("栈为空")
return
else:
return self.top+1
class testsequencestack:
def printout(self,st):
print(" (1)经判断当前栈 ",end=' ')
if st.isemptystack()==True:
print("为空")
else:
print("不为空")
st.PushStack('0')
st.PushStack('2')
st.pusgstack('4')
st.pushstack('6')
st.pushstack('8')
print(" \n(2) 元素 ",end=' ')
st.stacktraverse()
print("依此进栈 ",end=' ')
print(" \n (3)n 当前栈顶元素为 ",end=' ')
print(st.gettopstack())
print("\n(4) 当前栈中共有 ",end=' ')
print(st.getstacklength(),end=' ')
print("个元素,分别为 ",end=' ')
st.stacktraverse()
print("\n(5) 元素 ",st.gettopstack(),"出栈,当前栈中元素为",end=' ')
st.popstack()
st.stacktraverse()
print("\n(6) 元素 ",st.gettopstack(),"出栈,当前栈中元素为",end=' ')
st.popstack()
st.stacktraverse()
print("\n(7) 元素 ",st.gettopstack(),"出栈,当前栈中元素为",end=' ')
st.popstack()
st.stacktraverse()
print("\n(8) 元素 ",st.gettopstack(),"出栈,当前栈中元素为",end=' ')
st.popstack()
st.stacktraverse()
print("\n(9) 元素 ",st.gettopstack(),"出栈,当前 ",end=' ')
st.popstack()
if st.isemptystack()==True:
print("栈为空 ")
else:
print("栈不为空 ")
if name == 'main':
ss = SequenceStack()
tss = testsequencestack()
tss.printout(ss)
你最后的那个if语句写错了吧 横杠呢
最后的主函数写成这样试试
if __name__ == 'main':
ss = SequenceStack()
tss = testsequencestack()
tss.printout(ss)
另外建议以代码格式发源代码,直接粘贴文本不清楚缩进情况