아이와 함께 배우는 세상 사는 법

[파이썬 강좌] 7. Python 프로그래밍 기초 : while 반복문 본문

카테고리 없음

[파이썬 강좌] 7. Python 프로그래밍 기초 : while 반복문

CosmoEduVenture 2024. 2. 21. 18:27
반응형

 

이번 글에서는 while 반복문에 대해서만 다루고, 다음 글에서 for 반복문을 다룰 예정이 참고 부탁드립니다.

반복문(Loop)이란?

반복문은 특정한 조건이 참일 때 코드 블록을 반복해서 실행하는 제어 구조 명령문으로 동일한 작업을 반복적으로 수행할 때 중 불필요한 코드의 중복을 피하고 효율적으로 작업을 수행할 수 있게 해 줍니다.

파이썬에서는 while문과 for문 두 가지 유형의 반복문이 있습니다.

for 반복문

  • 반복 가능한(iterable) 객체(리스트, 튜플, 문자열 등)의 요소에 대한 순회.
  • for문 예시
for 요소 in 리스트:	# 리스트, 튜플 등의 반복 가능한 객체
    # 반복 수행할 코드

while 반복문

  • 조건이 참인 동안 반복을 계속.
  • while문 예시
while 조건식:
    # 반복 수행할 코드

이번 글에서는 while 반복문에 대해서만 다루고, 다음 글에서 for 반복문을 다룰 예정이 참고 부탁드립니다.

while 반복문

while 반복문은 저어진 조건이 참(true)인 동안 하위의 종속된 코드 블록을 반복적하여 실행하고, 조건이 거짓(False)이면 반복문을 종료합니다.

특징

  • 조건이 만족하는 동안 계속 반복.(반복 횟수가 명확하지 않을 때)
  • 조건이 항상 참인 조건에서 무한 루프에 빠질 수 있으니 주의.
  • 조건식에 사용되는 변수의 초기화 및 업데이트 필요.

while 반복문 구조 

초기식			--- (1)
while 조건식:		--- (2)
    반복 수행할 코드	--- (3)
    변화식		--- (4)
  • 동작 순서 : (1) -> 반복[ (2) -> (3) ->(4) ]
  • 초기식 : 조건식과 변화식에 사용될 변수 초기화
  • 조건식 : while 반복 조건식(True : 반복)
  • 변화식 : while 반복문의 탈출을 위한 변수의 값을 가감

while 반복문 예시(0부터 9까지의 수를 출력) 

count = 0	# 변수 초기화

while count < 10:
    print(count)
    count += 1	# 변수 업데이트

  위 코드는 while문의 조건식 count < 10이 참(True) 일 때 변수 count의 값을 출력한 후 count의 값을 1 증가(변수 업데이트)하는 작업을 count의 값이 10이 될 때까지 반복한다. 만약 count += 1(변수 없데이트)을 삭제하면 또는 사용하지 않으면 해당 반복문은 무한 루프에 빠지게 됩니다.

while 반복문 다양한 사용 방법

변수를 활용한 while문 사용 방법:

# 1부터 10까지 숫자 출력
i = 1
while i <= 10:
    print(i)
    i += 1
  • 변수 i의 값이 11이 되면 while문의 조건식이 거짓(False)이 되므로 반복문을 탈출합니다.

리스트를 활용한 while문 사용 방법

# 데이터 구조 처리 (목록)
nums = [1, 2, 3, 4, 5]
while nums:
    n = nums.pop()
    print(n)
  • 반복문 내부에서 리시트의 요소를 하나씩 추출하여 출력하고, 리스트의 요소가 없는 빈 리스트가 되면 조건이 거짓(False)이 되므로 반복문을 탈출합니다.

사용자 입력을 활용한 while문 사용 방법

# 사용자 입력 처리
user_input = input("숫자를 입력하세요: ")
while not user_input.isdigit():
    print("숫자만 입력하세요.")
    user_input = input("숫자를 입력하세요: ")
  • 사용자 입력(user_input) 변수의 값으로 숫자가 입력되면 반복문을 탈출하고, 문자가 입력되면 반복문 내부의 명령문을 실행합니다.

 break 키워드를 활용한 while문 사용 방법

break는 반복 회수가 명확하지 않을 때 사용하는 키워드로 특정 조건을 만족시 해당 반복문을 탈출할 때 사용됩니다.

# break 문을 사용한 반복문 사용
num = 0
cnt = 0
times = int(input("몇 번째 홀수를 찾을까요?"))

while True:	#무한 반복
    num += 1 # num을 1씩 증가
    if num % 2 == 1 : # 홀수 판별
        cnt += 1
    if cnt == times :
        break # 조건이 참이면 반복 종료

print(f"{cnt}번째 홀수는 {num}")
  • 변수 num의 값을 1씩 증가시고, 홀수 여부를 판별합니다.
  • 만약 홀수이면, 변수 cnt의 값을 1증가 시킵니다.
  • 사용자 입력으로 받은 times 변수와 cnt 변수의 값이 같으면 break에 의해서 반복문을 탈출합니다. 그리고 print문의 문자열을 출력 후 프로그램은 종료됩니다.
  • 사용자 입력으로 받은 times 변수에 값과 일치하는 cnt번째 홀수를 찾을 때까지 반복합니다. 

 continue 키워드를 활용한 while문 사용 방법

continue는 반복 중 특정 조건에서 하위 코드를 실행하지 않고 다음 반복으로 넘어갈 때 사용하는 키워드 입니다.

다음은 break 예시에서 사용한 코드와 동일한 기능을 하는 코드입니다.

num = 0
cnt = 0
limit = int(input("몇 번째 홀수를 찾을까요?"))
while True:
    num += 1 # num을 1씩 증가
    if num % 2 == 0 : # num이 짝수인지 판단
    	continue # 하위 코드를 건너뛰고 반복문의 다음 순번 실행
    cnt += 1 # num이 홀수일 때만 cnt가 1씩 증가
    if cnt == limit :
    	break # 조건이 참이면 반복 종료
print(f"{cnt}번째 홀수는 {num}")
  • 변수 num의 값이 2의 배수인 경우에 continue가 실행되면서 하위 코드를 건너뛰고  다음 반복으로 이동합니다.
  • 변수 num의 값이 홀수인 경우 cnt+=1과 두번째 if 조건문을 수행합니다.

else 키워드를 활용한 while문 사용 방법

else 문을 활용하여 반복문이 종료될 때(조건식이 거짓인 경우) 실행할 코드를 다음과 같이 작성할 수 있습니다.

# else 구문을 사용한 반복 종료 시 문자열 출력 작업 수행
nums = [1, 2, 3, 4, 5]
while nums:
    n = nums.pop()
    print(n)
else:
    print("모든 숫자가 출력되었습니다.")

 

 

 

[파이썬 강좌] 6. Python 프로그래밍 기초 : 조건문(Conditional)

조건문(Conditional)이란? 조건문이란 어떠한 조건이 주어질 때 조건의 만족 여부에 따라서 선택적으로 프로그램의 흐름을 제어하는 데 사용되며, 아래와 같이 조건의 참, 거짓에 따라 수행할 명령

learn2learn.tistory.com

반응형

 

반응형