Python 함수 내에 break나 continue 쓰는 방법 (continue not properly in loop 오류)

조회수 2344회
def inputUser(table, cnt):
    x = int(input("다음 수의 x 좌표를 입력하시오 : "))
    y = int(input("다음 수의 y 좌표를 입력하시오 : "))

    #사용자가 입력한 좌표를 검사한다
    if board[x][y] != '':
        print("잘못된 위치입니다.")
        continue
    else:
        board[x][y] = 'X'
        cnt += 1

def main():
    cnt = 0
    flag = True
    drawBoard(board)
    while flag:
        inputUser(board, cnt)
        flag = computer(board, cnt)
        drawBoard(board)


main()

위 코드와 같이 main함수 안에 while문이 있고, inputUser 함수를 main 함수 안에 넣고, inputUser함수밖에는 while문이 있습니다. 여기서 inputUser 함수를 정의하는 과정에서 inputUser 함수 내에 반복문이 있는 것이 아니기 때문에 continue를 썼을 때 'continue not properly in loop' 오류가 뜨게 됩니다. 이거 혹시 어떻게 해결할 수 있을까요?

1 답변

  • inputUser 함수 내에서 break나 continue를 사용하는 것은 말씀하신 이유 때문에 불가능 할 겁니다. 그리고 저희는 함수에서 return을 통해 함수가 끝났을 때 원하는 값을 반환할 수 있죠. 그럼 이런 방법이 가능합니다.

    //inputUser 중에
    if condition:
        //~~~
        return True
    
    //main의 while에서
    while flag:
         if inputUser():
            continue
        else:
            break
    
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)