我有一个问题,这段代码没有正常运行。你知道吗
这是包含所有函数的ArrayList
class ArrayList:
def __init__(self):
self.inArray = [2,3,4,5]
self.count = 0
def get(self, i):
return self.inArray[i]
def set(self, i, e):
self.inArray[i] = e
def length(self):
return self.count
def append(self, e):
self.inArray[self.count] = e
self.count += 1
if len(self.inArray) == self.count:
self._resizeUp() # resize array if reached capacity
def insert(self, i, e):
for j in range(self.count,i,-1):
self.inArray[j] = self.inArray[j-1]
self.inArray[i] = e
self.count += 1
if len(self.inArray) == self.count:
self._resizeUp() # resize array if reached capacity
def remove(self, i):
self.count -= 1
val = self.inArray[i]
for j in range(i,self.count):
self.inArray[j] = self.inArray[j+1]
return val
def __str__(self):
return str(self.inArray[:self.count])
def _resizeUp(self):
newArray = [0 for i in range(2*len(self.inArray))]
for j in range(len(self.inArray)):
newArray[j] = self.inArray[j]
self.inArray = newArray
#ex1
def appendAll(self, A):
for i in range(len(A)):
self.inArray.append(A[i])
#ex2
def removeVal(self, e):
for i in range (self.count):
if self.inArray[i] == e:
return True
return False
如果我的ArrayList包含e,那么我的代码应该返回true,但是在测试中它不起作用。你知道吗
ls = ArrayList()
print(ls.inArray)
ls.appendAll([42,24])
print(ls.inArray)
你知道吗伊纳瑞小姐返回(2,3,4,5,42,24)。但是,当我运行测试ls.removeVal(4)
时,输出返回False。你知道吗
数字4显然是伊纳瑞小姐应该返回true
当你打电话的时候
i
是索引而不是数组中的元素。所以4在数组中这一事实与此无关。你知道吗相关问题 更多 >
编程相关推荐