2017-11-20 5 views
1

하나의 for 루프를 사용하여 그림의 모든 짝수 픽셀을 반복해야합니다. 나는이 코드에 가까워지고 있다고 생각하지만, 자이 썬은 그것을 좋아하지 않는다. 왜 나는 (두 번째 for 루프가있는 것) 모르겠다.자이 썬의 그림에서 짝수 번째 픽셀 (루프) 루프

for x in range(0, width): 
    for y in range(0, height): 
    px = getPixels(pic, x, y) 

어떤 도움을 주시면 감사하겠습니다.

도움이된다면 여기에 전체 코드가 있습니다. 프로젝트의 요점은 모든 짝수 픽셀을 절반 크기의 새로운 빈 그림으로 이동하여 그림의 크기를 조정하는 것입니다.

def main(): 
    #Allows the user to pick a picture 
    pic = makePicture(pickAFile()) 
    show(pic) 
    #Finds the width and height of the selected picture 
    width = getWidth(pic) 
    height = getHeight(pic) 

    #Finds and divides width accordingly 
    if width % 2 == 0: 
     newW = width/2 
    else: 
     newW = width/2+1 

    #Finds and divides height accordingly 
    if height % 2 == 0: 
     newH = height/2 
    else: 
     newH = height/2+1 

for x in range(0, width, 2): 
    for y in range(0, height, 2): 
    px = getPixels(pic, x, y) 

답변

0

y 값에 대해 루프를 탭하지 않는 것이 문제입니까? 이처럼 텍스트를 구조화하면 문제가 해결됩니까? (그런데 range() 함수에 세 번째 매개 변수를 추가하면 기본값 1 대신 단계 값을 정의 할 수 있습니다.)

for x in range(0, width, 2): 
    for y in range(0, height, 2): 
     px = getPixels(pic, x, y) 
+0

나는 내 질문에 그런 구조로 생각했습니다. 세 번째 매개 변수에 대한 팁을 가져 주셔서 감사합니다. 내 오류는 정수를 기다리고있는 메서드에 문자열을 전달하려고했습니다. 오류는 세 번째 줄에 있습니다. 사진을 말하는거야? – alfabravo313

+0

게시자가 게시 한 코드를 기반으로 생각할 수있는 오류의 유일한 원인이 될 것입니다. 어쩌면 int (그림)를 사용하여 int로 캐스팅을 시도합니까? 나는 그 이상을 정말로 모른다. – kylew

관련 문제