원형 배열 클래스를 만드는 프로젝트가 있고, 사용할 언어는 파이썬입니다. 나는 파이썬으로 수업을 처음 접했지만 책의 일부 웹 페이지와 챕터를 읽은 후에 어떻게 작동하는지 이해하고 있다고 생각한다. 그러나 나는 도움이 필요하다. 그래서 나는 여기에서 훌륭한 선생님 들께와 줄 것이라고 생각했다. :)원형 배열 클래스 (파이썬에서)
우리의 학급은 여러 가지 작업을 수행 할 수 있어야합니다. 앞에서 삽입, 뒤로 삽입, 색인에서 삽입, 앞에서 제거, 뒤에서 제거, 색인에서 제거.
필자는 코딩 작업을 시작했지만 몇 가지 문제를 겪고 있으며 구문이 옳다면 100 % 확실하지 않습니다. 여기
는 내가 지금까지 무엇을 가지고 :
class circular:
def __init__(self):
self.store = []
self.capacity = len(self.store)
self.size = 0
self.startIndex = 0
self.endIndex = 0
def decrementIndex(self):
index = index - 1
if index < 0:
self.store = self.store + self.capacity
def incrementIndex(self):
index = index + 1
if index == self.capacity:
index = index - self.capacity
def addToBack(self, value):
self.store[self.endIndex] = value
self.endIndex = incrementIndex(self.endIndex)
self.size += 1
def addToFront(self, value):
if self.size == 0:
addToBack(self, value)
else:
self.startIndex = decrementIndex(self.startIndex)
self.store[self.startIndex] = value
self.size += 1
나는 그가 addTofront 및 addToback 주로 T, 일부 기능을 테스트 시작이 중단되었습니다. IDLE에서 c = circular() 및 c.addToBack (2)를 사용하여 테스트했을 때 인덱스 오류가 발생했으며 이유는 확실하지 않습니다. 그게 유일한 문제는 아니며, 내가 붙어서 앞으로 나아갈 수 있도록 도움을 필요로하는 곳입니다.
나는 게으름을 피우고 내 문제를 연구하지 않았기 때문에 도움이 필요하며 배우고 싶어하기 때문에 여기에 게시하고 있습니다. 이미 감사합니다!
'a = []; a [1] = 3'은 같은 오류를 생성합니다. 존재하지 않는 색인에 쓸 수 없습니다. 당신이하려고하는 것은 원형 (고정 크기) * 버퍼 *입니까? –
@yi_H 예 위의 작업을 수행하는 고정 순환 버퍼를 작성하는 프로젝트입니다. 색인 문제를 해결하고 내가 호출하는 각 함수에 대해 정의 된 오류를 얻지 못하고 있습니다. 그래서 뭔가 내 구문이 잘못되었다고 추측합니다. – roboman
당신은'self.'를 사용해야합니다. –