Menu
Coddy logo textTech

while 반복문

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

while 루프는 for 루프와 다릅니다. for 루프를 사용하면 특정 range를 반복할 수 있는 반면, while 루프를 사용하면 특정 condition이 충족되는 동안 계속 반복할 수 있습니다.

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

while condition:
	code

condition이 True인 경우에만 코드가 실행됩니다.

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

loop 본문 안에서는 보통 검사 중인 variableupdate해야 합니다. 이는 +=(더한 후 대입), -=(뺀 후 대입), *=(곱한 후 대입), /=(나눈 후 대입)과 같은 복합 대입 연산자를 사용하여 수행합니다. 예를 들어 x *= 2x = x * 2의 축약형입니다. variable을 update하지 않으면 condition이 절대 바뀌지 않아 loop가 영원히 실행됩니다.

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

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

주어진 숫자보다 큰 가장 작은 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는 비교 연산자를 사용하는 condition이며, power_of_two *= 2는 복합 할당 연산자를 사용하여 각 반복마다 variable을 update합니다. power_of_twonumber를 초과하면 condition은 False가 되고 loop가 중지됩니다.

challenge icon

챌린지

초급

입력값 하나인 float 숫자를 받는 프로그램을 작성하세요.

숫자가 3.5보다 크거나 같은 동안 while 루프를 사용하여 입력값을 2로 나누세요.

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

직접 해보기

quiz icon실력 점검

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

기초의 모든 레슨

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