본문 바로가기
Python

제어문 - 반복문(2): for 문과 range 함수의 사용법에 대해 배우기

by 공학텔러 2023. 7. 11.

파이썬

제어문 - 반복문(2): for 문과 range 함수의 사용법에 대해 배우기

Python은 프로그래밍 언어 중 하나로, 초보자도 쉽게 배울 수 있고 다양한 분야에서 활용할 수 있다는 점이 매력적입니다. Python의 핵심 요소 중 하나인 제어문에 대해 이야기할 때, 그 중에서도 반복문의 일종인 for문과 이에 관련된 range 함수에 대해 꼭 이야기해야 합니다. for문은 Python에서 제공하는 가장 기본적인 반복문 중 하나로, 특정 조건이 만족되는 동안 일정한 코드 블록을 반복하여 실행하는 구조입니다. 다른 프로그래밍 언어에서도 많이 보이는 구조지만, Pythonfor문은 그 특성과 사용법이 약간 다르므로 주의해야 합니다. 한편 range 함수는 for문과 함께 사용되며, 특정 범위의 숫자를 생성하는 데 사용됩니다. 이 함수를 이해하고 활용하면, for문을 더욱 효율적으로 사용할 수 있습니다. 이 글에서는 for문의 기본 구조와 활용법, range 함수의 사용법을 살펴보고, 각각에 대한 구체적인 사용 예시를 제공하겠습니다. 이를 통해 Pythonfor문과 range 함수를 어떻게 사용해야 하는지, 어떤 상황에서 활용할 수 있는지에 대한 이해를 돕고자 합니다.


for문의 정의와 기본 구조

for문은 Python에서 제공하는 반복문 중 하나로, 일정한 규칙 또는 조건에 따라 코드 블록을 반복 실행하는 제어문입니다. 다른 프로그래밍 언어의 for문과 비교했을 때 Pythonfor문은 조금 독특한 특성을 가지고 있습니다. Python에서 for문은 주로 "순회 가능한(iterable)" 객체를 순회하면서 각 요소를 처리하는 데 사용됩니다. 여기서 "순회 가능한 객체"란 리스트, 튜플, 문자열, 사전 등과 같이 여러 개의 요소로 구성되어 있어, 하나씩 차례대로 접근할 수 있는 객체를 의미합니다. for문의 기본 구조는 다음과 같습니다:

python

for 변수 in 순회가능한객체:

    실행할 코드

이 때 for문 아래의 "실행할 코드" 부분은 들여 쓰기(indentation)를 통해 for문의 범위를 구분합니다. 들여쓰기는 Python의 핵심 문법 중 하나로, 이를 통해 for문이나 if문 등의 제어문의 범위를 지정합니다.

 

간단한 예시를 통해 for문의 기본 사용법을 알아봅시다:

python

fruits = ["apple", "banana", "cherry"]

 

for fruit in fruits:

    print(fruit)

위 코드는 fruits라는 리스트를 순회하면서 각 요소(과일 이름)를 출력합니다. 결과는 다음과 같습니다:

apple

banana

cherry

각 라인에 과일 이름이 차례대로 출력된 것을 볼 수 있습니다. 이처럼 for문을 활용하면 리스트나 문자열 등의 순회 가능한 객체의 각 요소에 차례대로 접근하고, 원하는 연산을 수행할 수 있습니다. 이러한 기능은 다양한 프로그래밍 상황에서 매우 유용하게 활용됩니다.


for문의 활용 , 리스트나 문자열과 같은 순회 가능한 객체와 함께 사용하기

for문은 리스트나 문자열과 같은 순회 가능한 객체를 처리하는 데 있어 매우 강력한 도구입니다. 이 섹션에서는 for문을 이용하여 다양한 순회 가능한 객체를 어떻게 처리하는지 살펴보겠습니다.

리스트와 for

가장 기본적인 사용 사례는 리스트와 for문을 함께 사용하는 경우입니다. 아래 예시를 살펴봅시다:

python

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

 

for num in numbers:

    print(num * 2)

이 코드는 numbers라는 리스트의 각 요소에 대해 2를 곱한 값을 출력합니다. 결과는 다음과 같습니다:

2

4

6

8

10

문자열과 for

문자열 역시 for문으로 순회할 수 있습니다. 문자열의 경우 각 문자를 순서대로 접근하게 됩니다. 아래 예시를 확인해 보세요:

python

greeting = "Hello, World!"

 

for char in greeting:

    print(char)

위 코드는 greeting 문자열의 각 문자를 한 줄씩 출력합니다.


튜플과 for

튜플도 for문으로 순회할 수 있습니다. 리스트와 비슷한 방식으로 처리할 수 있습니다. 아래 예시를 살펴봅시다:

python

coordinates = (1, 2, 3)

 

for coord in coordinates:

    print(coord)

이 코드는 coordinates 튜플의 각 요소를 출력합니다.

이처럼 for문은 다양한 순회 가능한 객체를 효과적으로 처리할 수 있게 해 줍니다.다음 섹션에서는 for문을 더욱 효율적으로 활용하는 방법인 range 함수에 대해 알아보겠습니다.


range 함수의 활용 및 for문과의 결합

이번 섹션에서는 range 함수의 활용과 for문과의 결합에 대해 살펴보겠습니다.

range 함수의 기본 사용법

range 함수는 일정 범위의 숫자를 생성하는 데 사용됩니다. range 함수의 가장 간단한 사용 방법은 range(n)과 같이 사용하는 것입니다. 여기서 n은 생성하려는 범위의 끝을 나타냅니다. 이 경우 0부터 n,1까지의 정수를 생성하게 됩니다. 예를 들어 range(5) 0, 1, 2, 3, 4의 정수를 생성합니다.

python

for i in range(5):

    print(i)

위 코드는 0부터 4까지의 숫자를 출력합니다.


range 함수의 확장된 사용법

range 함수는 더 많은 매개변수를 받을 수 있습니다. range(start, stop, step)의 형태로 사용할 수 있습니다. 여기서 start는 범위의 시작을, stop은 범위의 끝을, step은 증가하는 단계의 크기를 나타냅니다. 예를 들어, range(1, 10, 2) 1에서 시작하여 10까지 2씩 증가하는 숫자를 생성합니다.

python

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

    print(i)

위 코드는 1, 3, 5, 7, 9를 출력합니다.


range 함수와 for문의 결합

range 함수는 for문과 함께 사용될 때 특히 유용합니다. for문의 반복 횟수를 명확하게 지정하거나, 일정 범위의 숫자를 순회하는 등 다양한 상황에서 활용할 수 있습니다.

python

 0부터 4까지 숫자를 출력

for i in range(5):

    print(i)

   

 1부터 9까지 홀수를 출력

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

    print(i)

이처럼 range 함수와 for문의 조합은 Python 프로그래밍에서 매우 중요한 개념입니다. 다음 섹션에서는 이러한 개념을 활용하여 더 복잡한 문제를 해결하는 방법에 대해 알아보겠습니다.


for문과 break, continue문의 활용

이번 섹션에서는 for문 안에서 breakcontinue를 어떻게 사용하는지에 대해 알아보겠습니다. 두 명령어는 반복문의 실행 흐름을 제어하는 데 사용되며, 각각의 동작 방식에 따라서 다양한 방식으로 활용할 수 있습니다.

break 문의 사용

break문은 반복문을 즉시 종료하는 데 사용됩니다. 이는 반복문이 완전히 종료되어 실행 흐름이 반복문 바깥으로 나옵니다. for문과 함께 break문을 사용하면 특정 조건을 만족할 때 반복을 중단하도록 할 수 있습니다. 다음은 break 문의 사용 예시입니다.

python

for i in range(5):

    if i == 3:

        break

    print(i)

이 코드는 숫자 0부터 2까지만 출력하고 반복문을 종료합니다. i == 3일 때 break 문이 실행되므로 i 3인 경우 출력되지 않고 바로 반복문이 종료됩니다.


continue 문의 사용

continue 문은 현재 반복을 중단하고 다음 반복으로 넘어가는 데 사용됩니다. 이는 반복문 내부의 남은 코드를 건너뛰고 다음 반복을 시작합니다. for문과 함께 continue 문을 사용하면 특정 조건에서 반복문의 남은 부분을 건너뛰도록 할 수 있습니다. 다음은 continue 문의 사용 예시입니다.

python

for i in range(5):

    if i == 3:

        continue

    print(i)

이 코드는 숫자 0, 1, 2, 4를 출력합니다. i 3일 때 continue문이 실행되므로 print(i)문이 건너뛰어집니다. 그래서 i 3인 경우는 출력되지 않습니다.

이처럼 for문에서 breakcontinue를 적절히 활용하면 다양한 로직을 구현할 수 있습니다. 다음 섹션에서는 for문을 활용하여 복잡한 문제를 어떻게 해결하는지에 대해 살펴보겠습니다.


for문을 이용한 중첩 반복의 활용

이번 섹션에서는 for문을 중첩하여 사용하는 방법에 대해 살펴보겠습니다. 중첩 반복이란, 반복문 안에 또 다른 반복문이 있는 것을 말합니다. 중첩 for문을 사용하면 좀 더 복잡한 반복 패턴을 구현할 수 있습니다. 다음은 중첩 for문의 기본 구조입니다.

python

for 변수1 in 반복 가능한 객체1:

    for 변수2 in 반복 가능한 객체2:

        실행할 명령

이러한 중첩 for문은 주로 이차원 데이터를 처리할 때 사용됩니다. 예를 들어, 리스트의 리스트, 즉 이차원 리스트의 모든 원소에 접근하기 위해 중첩 for문을 사용할 수 있습니다. 다음은 중첩 for문의 사용 예시입니다.

python

 이차원 리스트

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

 

 모든 원소 출력

for row in matrix:

    for element in row:

        print(element)

이 코드는 이차원 리스트 matrix의 모든 원소를 출력합니다. 바깥쪽 for문은 각 행에 대해 반복하며, 안쪽 for문은 해당 행의 각 원소에 대해 반복합니다. 이처럼 중첩 for문은 복잡한 반복 패턴을 표현하는 데 유용합니다. 하지만 너무 많은 중첩은 코드의 가독성을 해칠 수 있으므로 적절히 사용해야 합니다


결론

이번 포스트에서는 Python의 제어문 중 하나인 for문에 대해 알아보았습니다. for문은 특정 코드를 일정 횟수만큼 반복하거나, 반복 가능한 객체의 각 요소에 대해 코드를 실행할 때 사용됩니다먼저 for문의 기본 구조와 사용법에 대해 배웠습니다. 다음으로, 리스트나 문자열과 같은 반복 가능한 객체와 for문을 함께 사용하는 방법에 대해 알아보았습니다. 또한, range 함수를 사용하여 일정 범위의 숫자에 대해 반복하는 방법, breakcontinue문을 사용하여 반복문의 흐름을 제어하는 방법, 그리고 마지막으로 for문을 중첩하여 사용하는 방법에 대해 배웠습니다. 이 모든 내용을 통해 Pythonfor문이 어떻게 작동하고 언제 사용해야 하는지에 대한 깊은 이해를 얻었기를 바랍니다. for문은 Python 프로그래밍에서 굉장히 중요한 부분을 차지하며, 효율적인 코드를 작성하는 데 매우 유용하므로 꼭 숙지하시기 바랍니다. 다음 포스트에서는 for문과 함께 자주 사용되는 range 함수에 대해 자세히 알아보겠습니다. 그럼, 행복한 코딩 시간 되세요!

 

추가적으로 도움이 될만한 포스팅을 추천드리겠습니다.

 

제어문 - 반복문 (1): while문 사용 방법에 대해 배워보자

소개 프로그래밍에서 반복문은 매우 중요한 요소 중 하나입니다. 반복문은 동일하거나 유사한 작업을 여러 번 수행할 때 사용되며, 코드의 간결성과 가독성을 높이고 작업의 효율성을 높이는데

engineering-teller.tistory.com

 

제어문 - 조건문(2): elif, else문 사용법 배우기

제어문 - 조건문(2): elif, else문 사용법 배우기 Python 프로그래밍 언어에서 코드의 흐름을 제어하는 가장 기본적인 도구 중 하나는 '조건문'입니다. 이전 포스트에서는 조건문 중 'if'문에 대해 알아

engineering-teller.tistory.com

 

제어문 - 조건문(1): if문 사용법 배우기

서론 안녕하세요, Python 학습자 여러분. 오늘은 Python의 제어문 중 가장 기본적인 조건문인 if문에 대해 배워볼 예정입니다. 조건문은 프로그램의 흐름을 제어하는데 핵심적인 역할을 합니다. 어

engineering-teller.tistory.com

 

댓글