🔥 반복문: for와 while 루프

345자
5분

반복문은 프로그래밍에서 핵심적인 역할을 하는 구조 중 하나입니다. 파이썬에서는 주로 forwhile 반복문을 사용하여 작업을 반복하거나 특정 조건을 만족하는 동안 반복 작업을 수행합니다. 이 장에서는 반복문에 대해 자세히 설명하고, 다양한 예제를 통해 쉽게 이해하도록 하겠습니다.

반복문 개요

반복문은 동일한 작업을 여러 번 반복하여 수행하는 제어 구조입니다. 파이썬에서는 다음 두 가지 주요 종류의 반복문을 사용합니다.

  • for 반복문: 주어진 범위에서 순서대로 요소를 반복합니다.
  • while 반복문: 주어진 조건이 참인 동안 반복합니다.

반복문은 코드의 중복을 피하고 작업을 효율적으로 수행할 수 있도록 합니다.

for 반복문

for 반복문은 주어진 범위에서 순서대로 요소를 반복합니다. 주로 시퀀스(리스트, 튜플, 문자열 등)의 각 요소를 처리할 때 사용됩니다. 다음은 for 반복문의 기본 구조입니다.

python
for 요소 in 시퀀스:
    # 요소를 처리하는 코드
python
for 요소 in 시퀀스:
    # 요소를 처리하는 코드

예를 들어, 리스트의 각 항목을 출력하는 예제를 살펴보겠습니다.

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

이 코드는 리스트 fruits의 각 요소를 순서대로 출력합니다.

while 반복문

while 반복문은 주어진 조건이 참인 동안 반복합니다. 조건이 참이면 루프가 계속 실행되고, 조건이 거짓이 되면 루프가 종료됩니다. 다음은 while 반복문의 기본 구조입니다.

python
while 조건:
    # 조건이 참일 때 실행하는 코드
python
while 조건:
    # 조건이 참일 때 실행하는 코드

예를 들어, 1부터 5까지의 숫자를 출력하는 예제를 살펴보겠습니다.

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

이 코드는 count 변수가 5보다 작거나 같을 때까지 숫자를 출력합니다.

range() 함수

range() 함수는 연속된 숫자의 시퀀스를 생성하는 데 사용됩니다. 주로 for 반복문과 함께 사용하여 일정 범위의 숫자를 반복 처리할 때 유용합니다. 예를 들어, 1부터 10까지의 숫자를 출력하는 경우:

python
for num in range(1, 11):
    print(num)
python
for num in range(1, 11):
    print(num)

range(1, 11)은 1부터 10까지의 숫자를 생성합니다.

중첩 반복문

중첩 반복문은 반복문 내부에 또 다른 반복문을 포함하는 구조입니다. 이를 통해 복잡한 작업을 수행할 수 있습니다. 예를 들어, 이차원 리스트를 처리할 때 중첩 반복문을 사용합니다.

python
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
 
for row in matrix:
    for num in row:
        print(num)
python
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
 
for row in matrix:
    for num in row:
        print(num)

이 코드는 이차원 리스트 matrix의 각 요소를 출력합니다.

연습문제

  1. 1부터 100까지의 숫자 중 짝수만 출력하는 프로그램을 작성하세요.
  2. 사용자로부터 정수를 입력받아, 해당 숫자의 구구단을 출력하는 프로그램을 작성하세요.
  3. 사용자로부터 문자열을 입력받아, 해당 문자열을 거꾸로 출력하는 프로그램을 작성하세요.

YouTube 영상

채널 보기
NestJS 역할 기반 접근 권한 부여 - Guard, Reflector | NestJS 가이드
관점 지향 로깅 인터셉터 구현 및 전역 바인딩 전략 | NestJS 가이드
입력을 전처리하는 Functor - Contravariant와 contramap 이해하기 | 프로그래머를 위한 카테고리 이론
C++ 속의 펑터 | 프로그래머를 위한 카테고리 이론
NestJS 커스텀 데코레이터, createParamDecorator 사용 | NestJS 가이드
class-validator 와 DTO | NestJS 가이드
NestJS 인터셉터란? | NestJS 가이드
API 응답 지연과 복잡한 에러, NestJS 인터셉터로 관리하는 방법 | NestJS 가이드