호랭이 분석가

for문과 while문의 차이점과 break, continue, pass 활용하기 본문

Python

for문과 while문의 차이점과 break, continue, pass 활용하기

데이터호랑이 2023. 7. 30. 18:46
반응형

1. while문

 

  • while문은 주어진 조건이 참(True)인 동안 반복적으로 코드 블록을 실행합니다.
  • while문은 시작하기 전에 조건을 평가하고, 조건이 참이면 코드블록을 실행하고
    다시 조건을 평가하여 반복 여부를 결정합니다.
    따라서 조건이 거짓(False)이 될 때까지 반복합니다.
  • 예를 들어, 특정 조건이 충족될 때까지 사용자 입력을 받거나,
    파일 끝에 도달할 때까지 파일에서 데이터를 읽는 등의 상황에서 주로 사용합니다.

 

# while문의 기본 구조
while 조건 :
    # 조건이 참일 때 수행할 코드
    # 코드 블록 내에서 조건을 변화시켜야 반복이 종료될 수 있도록 주의해야합니다.

 

# 1부터 5까지 숫자를 출력하는 while문 예제

num = 1
while num <= 5 :
    print(num)
    num += 5

 

위 예제에서는 num 변수를 활용하여 1부터 5까지의 숫자를 출력하는 while문을 작성했습니다.

초기값으로 num은 1로 설정하고 while문 안에서 num을 출력한 후에 1씩 증가시켜 주면서

num이 5보다 작거나 같을 때까지 반복하게 됩니다.

 

 

2. for문

 

  • for문은 시퀀스(리스트, 튜플, 문자열 등)에 포함된 요소들을 순회하면서 반복적으로 코드 블록을 실행합니다.
  • for문은 컬렉션의 각 요소를 순서대로 가져오기 때문에, 요소의 개수만큼 반복하며,
    더 이상 순회할 요소가 없으면 반복을 종료합니다.
  • for문은 특히 순회해야 할 요소의 개수가 정해져 있거나,
    컬렉션의 각 요소에 대해 일련의 작업을 수행해야 할 때 주로 사용됩니다.

 

# for문의 기본 구조
for 요소 in 시퀀스 :
    # 각 요소에 수행할 코드

 

# 리시트의 요소들을 순회하면서 합을 구하는 for문 예제

numbers = [1, 2, 3, 4, 5]
sum = 0

for num in numbers :
    sum += num

print("리스트 요소들의 합 : ", sum)

 

위 예제에서는 numbers 리스트의 모든 요소를 순회하면서 합을 구하는 for문을 작성했습니다.

for문의 변수 num은 numbers의 요소들을 하나씩 가져오게 되며,

각 요소들은 sum 변수에 더해줌으로써 리스트 요소들의 합을 계산합니다.

 


 

3. 제어문


break, continue, pass는 반복문과 조건문 내에서 사용되는 특별한 제어문입니다.

 

3-1. break

  • break문은 반복문(while, for)을 즉시 종료하는 데 사용됩니다.
  • 반복문 내에서 특정 조건이 충족되었을 때,
    더 이상 반복을 진행하지 않고 반복문을 빠져나올 때 유용하게 사용됩니다.

 

# 사용자에게서 양수를 입력받아 더하고, 합이 100 이상이면 반복문을 종료하는 예제

total = 0

while True :
    num = int(input("양수를 입력하세요 (0 입력시 종료): "))

    if num == 0 :
        break # 0을 입력하면 반복문 종료

    if num < 0 :
        print("음수는 더할 수 없습니다.")
        continue # 음수일 경우 다시 반복문의 처음으로 돌아갑니다.

    total += num
    
    if total < 100 :
        print("현재 합 : ", total)

    else :
        print("현재 합 : ", total)
        print("현재 합이 100을 넘었습니다.")
        break

print("반복문 종료! ")

 

위 예제는 사용자로부터 양수를 입력받아서 합을 계산하고, 

만약 입력값이 0이면 반복문을 종료하며, 총합계가 100 이상이면 반복문을 종료하는 예제입니다.

 

 

3-2. continue

  • continue문은 반복문 내에서 특정 조건을 만족하는 경우, 남은 코드를 무시하고 다음 반복으로 넘어가는 데 사용됩니다.
  • continue문이 실행되면 현재 반복의 남은 부분은 무시되며, 다음 반복으로 넘어가게 됩니다.

 

# 1부터 10까지의 숫자 중에서 홀수만 출력하는 예제

for num in range(1, 11) :
    if num % 2 == 0 :
        continue # 짝수일 경우 다음 반복으로 넘어갑니다.
    print(num)

 

위 예제에서는 1부터 10까지의 숫자 중에서 홀수만 출력하는 for문을 작성했습니다.

만약 num이 짝수라면 continue문이 실행되어 print(num) 부분을 건너뛰고,

다음 반복으로 넘어가게 됩니다.

 

 

3-3 pass

  • pass는 문법적으로 아무것도 수행하지 않는 데 사용되며, 주로 코드 블록의 문법적 요구를 만족시키기 위해 사용됩니다.
  • 예를 들어, 아직 구현되지 않은 함수나 클래스를 임시로 작성할 때 사용하거나,
    조건문 또는 반복문의 빈 블록을 처리할 때 사용합니다.

 

# 1부터 5까지 숫자 중에서 홀수만 출력하고 짝수일 경우 처리를 넘기는 예제

for num in range(1, 6) :
    if num % 2 == 0 :
        pass # 짝수일 경우 아무 처리도 하지 않고 다음 반복으로 넘어감
        
    else :
        print(num)
        
        
# 아직 구현되지 않은 함수를 정의하는 예제
def get():
    pass # 함수의 내용을 나중에 구현할 예정

 

위 예제에서 continue를 사용했을 때와 pass를 사용했을 때의 결과 차이는 없습니다.

다만 pass의 경우 위 예제에서 짝수 일 경우의 처리를 나중에 작성해야 하거나,

함수 예제처럼 나중에 구현할 경우 미리 구조를 만들어 두기 위해 오류를 발생시키지 않고

임시로 코드를 작성해야 할 경우에 편리하게 사용할 수 있습니다.

Comments