어떤 조건이 만족될 때까지 명령문을 반복하기 원할 때, 파이썬에서 좀더 간단한 방식으로 프로그램을 작성할 수 있는 새로운 키워드(while)를 사용할 수 있습니다. 앞에서 살펴본 예제를 의사 코드를 사용하여 이것이 어떤 모습인지 살펴봅시다.
While not on beeper, ... keep moving; otherwise, ... stop.
이것이 앞에서처럼 같은 생각을 표현한다는데 동의하실 것입니다. 파이썬 코드를 사용해서, 여기 어떻게 프로그램을 작성하는지 살펴봅시다.
while not on_beeper():
move()
turn_off()
반복을 할 필요가 전혀 없습니다. 시도해 보세요!
while과 not 키워드를 사용해서 장애물 넘기 프로그램을 다시 작성하세요. 반복문의 임의의 숫자를 사용할 필요가 없습니다. 다른 말로, 프로그램의 핵심부분은 다음과 같을 것입니다.
while not on_beeper():
move_or_jump()
turn_off()
정상적으로 작동하는지 확인해보세요!
다시 봄이 돌아왔습니다. 리보그의 아버지는 가을 추수를 위해서 정원에 씨를 뿌렸습니다. 지난번과 마찬가지로 두 개의 씨가 발아한 곳이 있는 반면, 전혀 씨가 발아하지 않은 곳도 있습니다. 전형적인 상황은 아래 보여지고 있습니다. (월드파일: harvest4.wld)
리보그가 정원에서 김을 매는 것을 도와주세요. 두 개의 당근(비퍼)이 있는 곳이 있거나, 당근이 하나도 없는 곳이 있으면 안됩니다.
여기 while 키워드를 사용한 프로그램 코드의 일부가 제안으로 있습니다.
# 문제에 관련 어휘를 연결시키기 next_to_a_carrot = on_beeper plant_carrot = put_beeper pick_carrot = pick_beeper def one_carrot_only(): while next_to_a_carrot(): pick_carrot() # 모두를 뽑아냅니다 plant_carrot() # 하나만 다시 파종합니다
여기 프로그램 코드의 일부분은 앞의 것보다 약간 짧습니다. (6줄 대신에 def 함수 정의 명령문에 3줄이 있습니다.) 더욱이, 한 장소에 2개 이상의 씨앗이 발아한 경우에도 이 프로그램은 작동이 됩니다. 시도해 보세요~