완료 여부를 추적하기 위한 플래그 변수 설정
이 단계에서는 루프 내에서 작업의 완료를 추적하기 위해 플래그 변수를 사용하는 방법을 배우게 됩니다. 플래그 변수는 특정 조건이 충족되었는지 여부를 나타내는 부울 변수 (True 또는 False) 입니다. 이는 프로그램의 흐름을 제어하는 일반적인 기술입니다.
목록에서 특정 숫자를 검색하고 찾자마자 루프를 중지하려는 시나리오를 생각해 보겠습니다. VS Code 편집기를 사용하여 ~/project 디렉토리에 flag_example.py라는 파일을 만듭니다.
## flag_example.py
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
target = 5
found = False ## Initialize the flag variable
for number in numbers:
print(f"Checking number: {number}")
if number == target:
found = True
print(f"Found the target: {target}")
break ## Exit the loop
if found:
print("Target found in the list.")
else:
print("Target not found in the list.")
이 코드에서는 found라는 플래그 변수를 False로 초기화합니다. 루프는 numbers 목록을 반복합니다. 현재 숫자가 target과 같으면 found를 True로 설정하고 메시지를 출력한 다음 break 문을 사용하여 루프를 종료합니다. 루프 후 found의 값을 확인합니다. True이면 대상이 발견되었음을 나타내는 메시지를 출력합니다. 그렇지 않으면 대상이 발견되지 않았음을 나타내는 메시지를 출력합니다.
이 스크립트를 실행하려면 VS Code 에서 터미널을 열고 다음 명령을 실행합니다.
python flag_example.py
다음과 같은 출력을 볼 수 있습니다.
Checking number: 1
Checking number: 2
Checking number: 3
Checking number: 4
Checking number: 5
Found the target: 5
Target found in the list.
대상 숫자 (5) 를 찾자마자 루프가 중지되는 것을 확인하십시오. break 문은 루프를 종료하여 추가 반복을 방지합니다.
이제 목록에 없는 숫자를 검색하도록 스크립트를 수정해 보겠습니다. target 변수를 15 로 변경합니다.
## flag_example.py
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
target = 15
found = False ## Initialize the flag variable
for number in numbers:
print(f"Checking number: {number}")
if number == target:
found = True
print(f"Found the target: {target}")
break ## Exit the loop
if found:
print("Target found in the list.")
else:
print("Target not found in the list.")
스크립트를 다시 실행합니다.
python flag_example.py
다음과 같은 출력을 볼 수 있습니다.
Checking number: 1
Checking number: 2
Checking number: 3
Checking number: 4
Checking number: 5
Checking number: 6
Checking number: 7
Checking number: 8
Checking number: 9
Checking number: 10
Target not found in the list.
이 경우 루프는 대상 숫자를 찾지 않고 전체 목록을 반복합니다. found 변수는 False로 유지되고 "Target not found in the list." 메시지가 출력됩니다.
플래그 변수를 사용하는 것은 루프 내에서 작업의 완료를 추적하는 간단하고 효과적인 방법입니다. 이 기술은 목록에서 요소를 검색하거나, 사용자 입력을 검증하거나, 파일에서 데이터를 처리하는 등 다양한 시나리오에서 유용합니다.