Menu
Coddy logo textTech

while 반복문

Coddy Python 여정의 Fundamentals 섹션에 포함된 레슨 — 77개 중 36번째.

while 루프는 for 루프와 다릅니다. for 루프는 특정 range 동안 반복할 수 있게 해주는 반면, while 루프는 특정 condition이 충족되는 동안 계속 반복할 수 있게 해줍니다.

while 루프를 사용하려면 다음과 같이 작성합니다:

while condition:
	code

이 코드는 조건이 True인 경우에만 실행됩니다.

condition은 일반적으로 <=(작거나 같음), >=(크거나 같음), <(작음), >(큼), 또는 ==(같음)과 같은 비교 연산자를 사용하여 작성됩니다. loop는 해당 비교의 평가 결과가 True인 동안 계속 실행되며, False가 되는 즉시 중단됩니다.

루프 본문 내부에서는 일반적으로 검사 중인 variableupdate해야 합니다. 이는 +=(더하고 할당), -=(빼고 할당), *=(곱하고 할당), 또는 /=(나누고 할당)와 같은 복합 대입 연산자를 사용하여 수행됩니다. 예를 들어, x *= 2x = x * 2의 축약형입니다. variableupdate하지 않으면 condition이 절대로 바뀌지 않아 loop가 영원히 실행됩니다.

while이 문제를 해결할 수 있지만 for 루프는 해결할 수 없는 사용 사례가 많이 있습니다.

예를 들어 다음 문제를 고려해 보세요:

주어진 숫자보다 큰 가장 작은 2의 거듭제곱(power_of_two)을 찾으세요.

이 문제를 해결하기 위해 지정된 `number`보다 커질 때까지 현재 2의 거듭제곱에 계속 2를 곱하는 while `loop`를 사용합니다:

number = 27
power_of_two = 1

while power_of_two <= number:
    power_of_two *= 2

print(power_of_two)

여기서 power_of_two <= number는 비교 연산자를 사용한 condition이며, power_of_two *= 2는 복합 대입 연산자를 사용하여 매 반복마다 variable을 update합니다. power_of_twonumber를 초과하면 condition은 False가 되고 loop가 정지합니다.

challenge icon

챌린지

초급

하나의 float numberinput으로 받는 프로그램을 작성하세요.

number3.5보다 크거나 은 동안 input을 2로 나누는 while loop를 사용하세요.

3.5보다 작은 첫 번째 numberprint하세요.

직접 해보기

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

Fundamentals의 모든 레슨