Новое в структурах данных и алгоритмах, пробующих Dynami c Массивы
import ctypes
class DynamicArray(object):
def __init__(self):
self.count = 0
self.capacity = 1
self.A = self.make_array(self.capacity)
def __len__(self):
return self.count
def get(self, x):
if not 0 <= x < self.count:
return IndexError(f'Your value is {x} is out of bounds ')
return self.A[x]
def append(self, x):
if self.count == self.capacity:
self._resize(2 * self.capacity)
self.A[self.count] = x
self.count += 1
def _resize(self, new_cap):
B = self.make_array(new_cap)
for i in range(self.count):
B[x] = self.A[x]
self.A = B
self.capacity = new_cap
def make_array(self):
return (new_cap * ctypes.py_objects)()
arr = DynamicArray()
arr.append(1)
При тестовом запуске кода я получаю сообщение об ошибке:
ln8: self.A = sekf.make_array (self.capacity) TypeError: make_array () принимает 1 позиционный аргумент, и было дано 2
Я не понимаю, потому что я передал только один аргумент, если я не понимаю, пожалуйста, помогите