파이썬 반복문 while과 for의 차이

파이썬 반복문 while과 for의 차이

프로그래밍에서 반복문은 동일한 작업을 여러 번 수행하는 중요한 구조입니다. 파이썬에서는 주로 두 가지 반복문인 for문과 while문을 사용합니다. 각 반복문은 고유한 특성과 용도가 있으며, 적절히 활용하는 것이 코드를 효율적으로 작성하는 데 큰 도움이 됩니다.

for 루프란?

for 루프는 반복할 횟수가 미리 정해져 있을 때 유용하게 사용됩니다. 주로 데이터 구조인 리스트, 튜플, 문자열 등의 요소를 순회할 때 사용되며, 기본 구문은 다음과 같습니다:

for 변수 in 반복할_범위:
  실행할 코드

예를 들어, 과일 목록을 반복하여 각 과일의 이름을 출력하는 코드는 다음과 같습니다.

fruits = ["사과", "바나나", "체리"]
for fruit in fruits:
  print(fruit)

위 코드를 실행하면 각 과일이 한 줄씩 출력됩니다. for 루프는 리스트 내의 모든 요소를 하나씩 꺼내어 변수에 담아 반복하도록 설계되어 있습니다.

range() 함수와 함께 사용하기

for 문에서는 range() 함수를 활용하는 것이 일반적입니다. 이 함수는 특정 범위의 숫자를 생성하며, 사용 방법은 다음과 같습니다:

  • range(n): 0부터 n-1까지의 숫자 생성
  • range(a, b): a부터 b-1까지의 숫자 생성
  • range(a, b, step): a부터 b-1까지 step 간격으로 숫자 생성

아래 예제를 통해 2부터 10까지 2씩 증가하는 숫자를 출력해 보겠습니다.

for i in range(2, 10, 2):
  print(i)

while 루프란?

while 루프는 반복의 조건이 충족되는 한 계속해서 실행되는 구조입니다. 이는 반복할 횟수가 사전에 정해지지 않았을 때 사용할 수 있습니다. 기본 구조는 다음과 같습니다:

while 조건:
  실행할 코드

예를 들어, 0부터 4까지의 숫자를 출력하는 코드는 다음과 같이 작성할 수 있습니다.

count = 0
while count < 5:
  print(count)
  count += 1

이 예제는 count가 5가 될 때까지 계속해서 count의 값을 증가시키며 출력합니다.

사용자 입력을 받을 때 활용하기

while 루프는 사용자의 입력을 받을 때 매우 유용할 수 있습니다. 비밀번호를 검증하는 예제를 통해 확인해보겠습니다.

password = ""
while password != "1234":
  password = input("비밀번호를 입력하세요: ")
print("로그인 성공!")

이 코드에서는 사용자가 '1234'라는 비밀번호를 입력할 때까지 반복하여 입력을 받는 구조입니다.

for vs while: 어떤 경우에 사용할까?

  • for 루프: 요소의 반복 횟수가 명확할 때, 리스트와 같은 시퀀스 자료형을 순회할 필요가 있을 때 사용합니다.
  • while 루프: 반복해야 할 조건이 필요하며, 그 조건이 충족되는 한 계속해서 반복하게 됩니다. 예를 들어, 사용자 입력을 요구할 때 적합합니다.

반복문 제어하기: break와 continue

반복문 내에서 특정 조건에 따라 흐름을 제어할 수 있는 키워드가 있습니다. break는 반복을 즉시 종료하게 하고, continue는 현재 반복을 건너뛰고 다음 반복을 수행하게 합니다.

break 사용 예제

for i in range(10):
  if i == 5:
    break # i가 5일 때 반복문 종료
  print(i)

위 코드에서는 i가 5일 때 반복문이 종료되어 0부터 4까지의 숫자만 출력됩니다.

continue 사용 예제

for i in range(5):
  if i == 2:
    continue # i가 2일 때 실행하지 않고 다음 반복 진행
  print(i)

이 경우 i가 2일 때 출력이 생략되고, 나머지 숫자들은 출력됩니다.

실제 활용 예제

반복문은 다양한 상황에서 활용될 수 있습니다. 아래에 두 가지 예제를 소개합니다.

  • 1부터 10까지의 합 구하기 (for 사용)
  • total = 0
    for i in range(1, 11):
      total += i
    print("1부터 10까지의 합:", total)
  • 사용자로부터 비밀번호 확인 (while 사용)
  • correct_password = "abcd1234"
    while True:
      user_input = input("비밀번호를 입력하세요: ")
      if user_input == correct_password:
        print("로그인 성공!")
        break
      else:
        print("비밀번호가 틀렸습니다. 다시 입력하세요.")

마치며

for와 while 루프는 각기 다른 상황에서 유용하게 사용할 수 있는 도구입니다. for 루프는 정해진 횟수만큼 반복해야 할 때 주로 사용되고, while 루프는 조건이 맞는 한 계속 반복하는 상황에 적합합니다. 각 반복문의 특성과 사용법을 충분히 이해하고 활용하여, 프로그래밍의 효율성을 높여보시기 바랍니다.

자주 묻는 질문과 답변

파이썬에서 반복문이란 무엇인가요?

반복문은 동일한 작업을 여러 번 실행할 수 있는 프로그래밍 구조로, 파이썬에서는 주로 for문과 while문 두 가지를 사용합니다.

for 루프는 어떤 상황에서 사용하나요?

for 루프는 반복할 횟수가 정해져 있거나, 리스트와 같은 데이터 구조의 요소를 순회할 때 적합합니다.

while 루프는 언제 사용하는 것이 좋나요?

while 루프는 속한 조건이 참인 동안 지속적으로 실행되어야 할 때 유용하며, 사용자 입력을 처리할 때 자주 사용됩니다.

break와 continue는 어떤 역할을 하나요?

break는 반복문을 즉시 종료시키며, continue는 현재 반복을 건너뛰고 다음 반복으로 넘어가는 기능을 제공합니다.

반복문을 사용한 예시를 들 수 있나요?

예를 들어, for 루프를 사용하여 1부터 10까지의 합을 계산하거나, while 루프를 통해 비밀번호를 입력받는 경우가 있습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다