CodeGym /행동 /Python SELF KO /while 루프

while 루프

Python SELF KO
레벨 4 , 레슨 3
사용 가능

9.1 조건부 루프

루프 for는 우리가 루프의 명령 블록을 몇 번 실행할지 정확히 알고 있을 때 적합해. 하지만 항상 그런 상황은 아니야. 명령 블록을 어떤 조건(규칙)이 참일 때까지 실행해야 하는 경우도 있어.

이를 위해 Python 언어에는 루프 while이 있어. 이 루프의 일반적인 형태는 for 루프보다 더 간단해:


while 조건:
    명령1 
    명령2 
    명령N 

루프는 조건이 참일 동안 계속 실행돼.

중요! 루프가 무한히 실행되지 않도록 명령 블록 안에서 조건에 영향을 미치는 무언가가 있어야 해. 이 조건이 언젠가 거짓이 되어 루프가 종료될 수 있도록 말이야.

예시:

예시 설명

count = 0
while count < 5:
    print(count)
    count += 1
루프는 화면에 숫자 0 1 2 3 4를 출력할 거야

while 루프에서는 두 가지가 계속해서 실행돼:

  • 조건이 확인돼.
  • 명령 블록이 실행돼.

조건이 참이면 명령 블록이 실행돼. 조건이 거짓이라면 (심지어 명령 블록이 한 번도 실행되지 않았더라도) 루프는 종료돼.

while 루프와 사용자로부터 알 수 없는 양의 데이터를 입력 받는 예시:

예시 설명

user_input = ""
while user_input != "exit":
    user_input = input("종료하려면 'exit'을 입력하세요: ")
    print(user_input)
루프는 사용자가 'exit'을 입력할 때까지 모든 데이터를 화면에 출력하고, 이를 출력한 후 종료돼.

9.2 break 문

Python에서 break 문while 루프for 루프의 실행을 즉시 중지하는 데 사용돼. 이 문은 조건에 의해 루프가 정상적으로 종료되기 전에도 루프를 종료해야 할 때 매우 유용해.

break은 프로그램 실행 흐름을 보다 유연하게 관리할 수 있게 해주고, 실행 중에 동적으로 변하는 조건에 반응할 수 있게 해줘.

주요 사용법:


for num in range(10):
    if num == 5:
        break  # num이 5에 도달하면 루프가 중단돼
    print(num)
        

이 예제에서 루프는 0부터 4까지의 숫자를 출력해. num이 5에 도달하면, break로 인해 루프가 중단돼.

무한 루프에서의 사용:


while True:
    response = input("종료하려면 'exit'을 입력하세요: ")
    if response == 'exit':
        break              

여기서 break는 사용자가 'exit'을 입력하면 무한 루프에서 빠져나오는 데 사용돼.

break는 또한 중첩 루프의 실행을 중단하거나, 예외 상황을 처리할 때, 다중 스레드 또는 네트워크 애플리케이션에서 프로세스를 중단할 때 자주 사용돼.

예시로, 검색이나 정렬 작업에서 원하는 요소를 찾은 후에 루프를 계속 실행할 필요가 없을 때 사용돼:


elements = [1, 2, 3, -99, 5]
# 첫 번째 음수 요소 찾기
for element in elements:
    if element < 0:
        print("음수 요소 발견: ", element)
        break              

최고의 실천 방법은 프로그램의 논리를 복잡하게 만들지 않고 쉽게 이해할 수 있도록 break를 현명하게 사용하는 거야. 루프를 종료하는 이유가 명확하지 않을 경우, 이를 주석으로 설명하는 게 좋은 습관이야.

break의 사용은 정당하고 적절해야 해. 예를 들어 코드의 가독성과 효율성을 향상시키기 위해서 말이야. 이 문을 효과적으로 사용하면 특히 계산이 많은 알고리즘에서 성능을 크게 향상시킬 수 있어.

9.3 continue 문

continue 문은 Python에서 루프의 실행 흐름을 제어하는 강력한 도구야. 현재 반복의 남은 코드를 건너뛰고 다음 반복으로 넘어가게 해줘. 이 문은 특정 조건을 건너뛰고 전체 루프를 중단하지 않고 forwhile 루프에서 자주 사용돼.

continue 문 사용의 기본

continue가 단순 루프에서 어떻게 작동하는지 보자:


for i in range(10):
    if i % 2 == 0:
        continue
    print(i)              

이 예제에서는 루프가 1에서 9까지의 홀수만 출력해. i가 짝수일 때마다(2로 나누어 떨어질 때) continue가 작동하고, print() 함수 호출을 건너뛰고 다음 반복으로 넘어가.

continue 실사용 예시

데이터 필터링: continue를 사용하여 루프 내에서 보다 복잡한 작업을 수행하기 전에 데이터를 미리 필터링할 수 있어.


data = ["apple", "banana", "", "cherry", "date"]
for fruit in data:
    if not fruit:
        continue  # 빈 문자열 건너뛰기
    print(fruit.capitalize())               

특정 조건 건너뛰기: 복잡한 조건을 기반으로 특정 요소를 건너뛰어야 하는 상황에서 특히 유용해.


    scores = [92, 85, 99, 78, 82, 100, 67, 88]
    for score in scores:
        if score < 80:
            continue  # 낮은 점수 건너뛰기
        print("축하합니다, 당신의 점수는: ", score)               

Python에서 continue 문은 루프에서 불필요한 요소를 건너뛰고 코드를 더 간결하고 읽기 쉽게 만드는 우아한 방법을 제공해. 너무 많은 continue의 사용은 루프가 어떤 데이터를 처리하는지 이해하기 어렵게 만들 수 있어. 특히 조건이 많은 복잡한 루프에서는 적절한 균형을 유지하자.

코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION