看看这代码错在哪,怎么改

前面一部分代码是用顺序表定义栈,后面的循环是做十进制转换为二进制。

img

st1 是 Stack 对象,不是真正的列表,不能用while st1!=[]:判断不为空
你应该为Stack 类中设置一个返回_elems列表长度的方法

def length(self):
    return len(self._elems)

用while st1.length()>0: 来判断不为空

如有帮助,望采纳!谢谢!