| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
class Stack: 
    def __init__(self,start = []): 
        self.stack = [] 
        for x in start: 
            self.push(x) 
             
    def isEmpty(self): 
        return not self.stack 
 
    def push(self,obj): 
        self.stack.append(object) 
 
    def pop(self): 
        if not self.stack: 
            print("警告:栈空了!") 
        else: 
            return self.stack.pop() 
 
    def top(self): 
        if not self.stack: 
            print("警告:栈空了!") 
        else: 
            return self.stack[-1] 
 
    def bottom(self): 
        if not self.stack: 
            print("警告:栈空了!") 
        else: 
            return self.stack[-1] 
s = Stack() 
 
>>> s.push(123456789) 
>>> s.isEmpty() 
False 
>>> s.top() 
<class 'object'> 
>>> s.bottom() 
<class 'object'> 
为啥调用类对象会出现class 'object'啊? 这个又是什么意思?
 
 
这里打印出 class object 的原因是因为你 压栈的方法append 变量填错了,你填了 object 基类进去 
 
所以你 top 查看栈顶时候返回的也是一个 object 
 
把 push 函数的 self.stack.append(object) 改成 self.stack.append(obj) 即可 
 
 
 
 
 |   
 
 
 
 |