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() 호출을 두 번(한 번은 루프 직전에 초기화하면서 호출하고, 다른 한 번은 루프의 끝에서 배달받은 신선한 과일을 다시 선택하기 위해 호출한다)하므로 반복적이다.

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