while 반복문
Coddy GDScript 여정의 기초 섹션에 포함된 레슨. 92개 중 44번째.
for 루프는 범위 내의 각 숫자에 대해 한 번씩 실행됩니다. 조건이 true인 동안 while 루프는 계속 실행됩니다:
var count := 3
while count > 0:
print(count)
count -= 1
print("Go!")3
2
1
Go!조건은 반복할 때마다 확인됩니다. count가 0이 되면 count > 0은 false이므로 루프가 멈추고 프로그램은 루프 다음 부분을 계속 실행합니다. 처음부터 조건이 false라면 블록은 실행되지 않습니다.
블록은 조건이 의존하는 무언가를 변경해야 합니다. 여기서 count -= 1은 count를 0에 더 가까워지게 합니다. 그렇지 않으면 조건은 계속 true이고 루프는 끝나지 않습니다.
필요한 반복 횟수를 미리 알 수 없을 때는 while을 사용하세요. 예를 들어, 다음 코드는 27보다 큰 2의 거듭제곱 중 가장 작은 값을 찾습니다.
var number := 27
var power_of_two := 1
while power_of_two <= number:
power_of_two *= 2
print(power_of_two)power_of_two는 반복할 때마다 두 배가 됩니다: 2, 4, 8, 16, 32. 32에서 power_of_two <= number는 false이므로 프로그램은 32를 출력합니다.
챌린지
쉬움프로그램은 하나의 십진수를 number에 읽어들입니다.
while 루프를 사용하여 number가 3.5보다 크거나 같은 동안 2로 나눕니다. 그런 다음 결과를 출력합니다. 이 결과는 3.5보다 작은 첫 번째 값입니다.
예를 들어 입력이 15이면 값은 15, 7.5, 3.75, 1.875이므로 프로그램은 다음을 출력합니다.
1.875입력이 이미 3.5보다 작으면 변경하지 않고 출력합니다. for 루프를 사용하지 마세요.
직접 해보기
extends Node
func _ready():
var number := float(OS.read_string_from_stdin())
# number가 3.5 이상인 동안 절반으로 줄인 다음 출력하세요
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: 온라인 GDScript 컴파일러