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