谁能帮我修改一下啊,老是报错,我也不会改

谁能帮我修改一下啊

class SqList:  # 顺序表
    def __init__(self):  # 构建空表
        self.elem = []
        self.size = 0

    def listAppend(self, item):  # 插入元素item在表尾
        self.elem.append(item)

    def listInsert(self, index, i):  # 在index之前插入元素i且递增
        if self.elem[index] > i:
            while self.elem[index] > i:
                index -= 1
            self.elem.insert(index + 1, i)

        elif self.elem[index] < i:
            while self.elem[index] < i:
                index += 1
            self.elem.insert(index, i)
        else:
            print("表不能有相同元素")

        self.elem.insert(index - 1, i)

    def listDelelte(self, index):  # 删除第index元素
        del self.elem[index - 1]

    def dellast(self):  # 删除最后一个元素
        self.elem.pop()

    def length(self):  # 求表长
        return len(self.elem)

    def isEmpty(self):  # 判断表空
        return self.elem == []

    def traverse(self):  # 遍历顺序表
        for item in self.elem:
            print(item, end='  ')
        print('\n')

    def del_fushu(self,L):
        i, j = 0, 0
        while j < len(self):
            if self[j] >= 0:
                self[i] = self[j]
                i += 1
            j += 1
        del self[i:]
        return self





from SqList import SqList

if __name__ == '__main__':
    L=SqList()
    L.listAppend(1)
    L.listAppend(2)
    L.listAppend(-1)
    L.listAppend(-2)
    L.listAppend(3)
    L.listAppend(-3)
    L.traverse()
    L=del_fushu(L)
    L.traverse()


目的是想删除负数,且排序不变
可是老是报错,我基础也有点不好
while j < len(self):
TypeError: object of type 'SqList' has no len()
1 2 -1 -2 3 -3

class SqList:
    def __init__(self):
        self.elem = []
        self.size = 0
      
    def listAppend(self, item):
        self.elem.append(item)
  
    def listInsert(self, index, item):
        if item in self.elem:
            print("表不能有相同元素")
            return
          
        if index<0 or index>self.size:
            print("插入位置无效")
            return
      
        self.elem.insert(index, item)
        self.size += 1
      
    def listDelete(self, index):
        if index<0 or index>=self.size:
            print("删除位置无效")
            return
          
        del self.elem[index]
        self.size -= 1
      
    def deleteLast(self):
        if self.isEmpty():
            print("表已经为空")
            return
      
        del self.elem[self.size-1]
        self.size -= 1
      
    def length(self):
        return self.size
      
    def isEmpty(self):
        return self.size == 0
      
    def traverse(self):
        for item in self.elem:
            print(item, end=' ')
        print()
      
    def del_fushu(self):
        i = 0
        while i < self.size:
            if self.elem[i] < 0:
                self.listDelete(i)
            else:
                i += 1

  • 以下回答由chatgpt基于相关博客总结生成:

    这并不是一个问题,而是给出了一个2048小游戏的代码。需要进一步确定您需要什么样的帮助或是有什么问题,才能提供更加具体的解决方案。