Menu
CoddyTech

while 반복문

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

while 반복문은 for 반복문과 다릅니다. for 반복문을 사용하면 특정 range를 순회할 수 있는 반면, while 반복문을 사용하면 특정 조건이 충족되는 동안 계속 순회할 수 있습니다.

while 반복문을 사용하려면 다음과 같이 작성하세요:

while condition:
	code

조건이 True일 때만 코드가 실행됩니다.

조건은 일반적으로 <=(작거나 같음), >=(크거나 같음), <(작음), >(큼), ==(같음)과 같은 비교 연산자를 사용해 만듭니다. 비교 결과가 True인 동안 루프는 계속 실행되고, False가 되는 즉시 멈춥니다.

반복문의 본문에서는 보통 검사 중인 변수를 업데이트해야 합니다. 이는 +=(더한 후 대입), -=(뺀 후 대입), *=(곱한 후 대입), /=(나눈 후 대입)와 같은 증강 대입 연산자를 사용해 수행합니다. 예를 들어, x *= 2는 x = x * 2의 축약형입니다. 변수를 업데이트하지 않으면 조건이 바뀌지 않아 반복문이 무한히 실행됩니다.

while문으로는 해결할 수 있지만 for 반복문으로는 해결할 수 없는 경우가 많습니다.

예를 들어, 다음 문제를 생각해 보세요.

주어진 수보다 큰 2의 거듭제곱 중 가장 작은 수를 찾으세요.

이를 해결하기 위해 현재 2의 거듭제곱에 2를 반복해서 곱하다가 주어진 수보다 커질 때까지 실행하는 while 반복문을 사용합니다:

number = 27
power_of_two = 1
while power_of_two <= number:
    power_of_two *= 2
print(power_of_two)

여기서 power_of_two <= number는 비교 연산자를 사용하는 조건이고, power_of_two *= 2는 복합 대입 연산자를 사용해 각 반복마다 변수를 갱신합니다. power_of_two가 number를 초과하면 조건이 False가 되고 반복문이 멈춥니다.

challenge icon

챌린지

초급

입력값 하나를 받는 프로그램을 작성하세요. 입력값은 실수입니다.

숫자가 3.5보다 크거나 같은 동안 while 반복문을 사용해 입력값을 2로 나누세요.

3.5보다 작은 첫 번째 숫자를 출력하세요.

직접 해보기

quiz icon실력 점검

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

기초의 모든 레슨

직접 연습해 보세요: 온라인 Python 컴파일러