class Stack:
INCREMENT=10
def __init__(self,init_size=0):
self._capacity=init_size
self._entry=[None for x in range (0,self._capacity)]
self._top=-1
def empty(self):
return self._top==-1
def __len__(self):
return self._top+1
def push(self,item):
if self._top>=self._capacity-1:
self._resize()
self._top+=1
self._entry[self._top]=item
def _resize(self):
temp=[None for x in range(0,self._capacity)]
for i in range(0,self._capacity-self.INCREMENT):
temp[i]=self._entry[i]
self._entry=temp
def pop(self):
if self.empty():
raise Exception("栈为空")
else:
item=self._entry[self._top]
self._top-=1
return item
def find(self):
self.flag = self.stack[0]
for i in self.stack:
if item==i:
return 0
else:
self.stack1.append
return self.flag
if name == 'main':
stack = Stack()
data = [1,2,3,4,5,6,7,8,9]
I = int(input())
for i in range(len(data)):
stack.push(data[i])
print(stack.find(I))
你这实例化的时候没有给size, 所以默认值为0. 第一行改成stack = Stack(10)就行
同时你的find里面我没看懂, self.stack是啥