현재 graphics.py 모듈을 사용하여 삶의 게임 버전을 개발 중입니다. 나는 프로그래밍에 익숙하지 않으므로 나와 함께 곰!인스턴스화 객체를보다 빠르게 설정하고 배열에 할당하는 방법
현재 대한 루프 I가 매우 빠르고 더 작은 격자를 생성 할 수있는 사용하고 중첩하지만 위쪽 50x50으로 주위 현저히 느린 얻는다 :
for i in range(self.scale, Interface.worldsize_max+2, self.scale):
for u in range(self.scale, Interface.worldsize_max+2,self.scale):
self.point1 = graphics.Point(i,u)
self.point2 = graphics.Point(i-self.scale, u-self.scale)
self.square = graphics.Rectangle(self.point1, self.point2)
self.square.draw(self.window)
self.square.setFill('black')
self.grid[round(i/(Interface.worldsize_max/self.worldsize))-1][round(u/(Interface.worldsize_max/self.worldsize))-1]=self.square
worldsize_max는 창의 너비/높이의 최대 픽셀 프로그램이 실행 중입니다. scale은 worldsize_max를 열/행의 양으로 나눈 값입니다. 지금까지는 별도의 모듈에서이 어레이를 미리 생성하고 가져 오는 것 (어쨌든 작은 크기, 중간 크기 등의 미리 설정된 크기 옵션 만 사용함) 또는 b) 어떻게 든 멀티 프로세싱을 사용하여 brute-force it. 이 배열을 절대적으로 가질 필요는 없지만, 내 코드의 제한이나 그래픽스 모듈의 제한이라면 무엇보다 호기심이 없습니까?
편집 : 또한 루프를 반복하면서 느려지는 것을 느꼈습니다. 어떻게 이런 일이 일어 났습니까?
* in Python 2 ... – DavidG
예, 업데이트 예정입니다. – Anuj
Python 2.x 있음. 그러나 Python 3.x에서'xrange()'는'range()'로 이름이 바뀌 었습니다. –