Menu
Coddy logo textTech

while 반복문

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

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

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

while condition:
	code

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

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

루프 본문 내부에서는 보통 확인 중인 변수를 업데이트해야 합니다. 이는 +=(더하기 및 할당), -=(빼기 및 할당), *=(곱하기 및 할당) 또는 /=(나누기 및 할당)과 같은 복합 대입 연산자를 사용하여 수행됩니다. 예를 들어, x *= 2x = 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_twonumber를 초과하면 조건은 False가 되고 루프가 중단됩니다.

challenge icon

챌린지

초급

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

숫자가 3.5보다 크거나 같을 동안 while 루프를 사용하여 입력을 2로 나눕니다.

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

치트 시트

while 루프는 조건이 True인 동안 실행됩니다:

while condition:
    code

조건을 만들기 위해 비교 연산자를 사용하세요: ==, <, >, <=, >=.
매 반복마다 변수를 업데이트하기 위해 복합 대입 연산자를 사용하세요: +=, -=, *=, /=.

number = 27
power_of_two = 1

while power_of_two <= number:
    power_of_two *= 2  # 무한 루프를 방지하기 위해 변수 업데이트

print(power_of_two)  # 32

직접 해보기

quiz icon실력 점검

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

Fundamentals의 모든 레슨