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가 되고 반복문이 멈춥니다.
챌린지
초급입력값 하나를 받는 프로그램을 작성하세요. 입력값은 실수입니다.
숫자가 3.5보다 크거나 같은 동안 while 반복문을 사용해 입력값을 2로 나누세요.
3.5보다 작은 첫 번째 숫자를 출력하세요.
직접 해보기
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: 온라인 Python 컴파일러