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

谁能帮一下我啊

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之前插入元素item
        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()

img


老是报错,我基础不好,报错的问题解决不了

相同的问题:https://ask.csdn.net/questions/7935198

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7812273
  • 你也可以参考下这篇文章:多线程爬取表情包,斗图再也难不倒我了
  • 除此之外, 这篇博客: 函数中的 如果在定义函数时,某个默认值参数是另一个变量的值,那么参数的默认值只依赖于函数定义时该变量的值,或者是说函数的默认值参数在函数定义时,值就被定义了,所以只会初始化一次。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • >>>def f(x=i):
       	   print(x)
    out:NameError: name 'i' is not defined
    >>>i = 1
    >>>def f(x=i):
           print(x) 
    
    >>>f()
    out:1
    >>>i=2
    >>>f()
    out:1
    >>>i
    Out: 2
    >>>def f(x=i):
    	   print(x)    # 重新定义函数f()
    
    >>>f()
    out:2