더북(TheBook)
while True:
    x = 1.0 + 2.0*random.random()
    y = 1.0 + 2.0*random.random()
    if x*x + y*y <= 1.0:
        break

단위 원판의 면적은 𝜋이고 정사각형의 면적은 4이므로 루프가 반복될 횟수는 4/𝜋(대략 1.27)라고 예상할 수 있다.

중간에 탈출하는 루프에 대해서는 전문가들의 의견이 분분하다. 잘못 사용하면 break 문은 루프의 제어 흐름을 복잡하게 만들 수 있다. 그렇지만, 지금과 같은 문제에서 중간 탈출 루프 이외의 다른 방법을 사용하려면 코드가 복잡해진다(연습문제 1.3.30). 이런 문제를 처리할 수 있도록 do-while 반복문을 제공하는 언어도 있다. 파이썬에서는 필요에 따라 break 문을 신중히 사용하기를 권장한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.