더북(TheBook)

do/while 루프가 없다는 점도 초보 파이썬 프로그래머를 당황하게 만든다. 예를 들어, 신선한 과일이 배달돼서 이 과일을 모두 주스로 만든 후 병에 담기로 했다고 하자. 다음은 while 루프로 이 로직을 구현한 코드다.

def pick_fruit():
    ...

def make_juice(fruit, count):
    ...

bottles = []
fresh_fruit = pick_fruit()
while fresh_fruit:
    for fruit, count in fresh_fruit.items():
        batch = make_juice(fruit, count)
        bottles.extend(batch)
    fresh_fruit = pick_fruit()

이 코드는 fresh_fruit = pick_fruit() 호출을 두 번(한 번은 루프 직전에 초기화하면서 호출하고, 다른 한 번은 루프의 끝에서 배달받은 신선한 과일을 다시 선택하기 위해 호출한다)하므로 반복적이다.

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