본문 바로가기

Python

[Python] 반복문

728x90

반복문이란?

반복문은 동일한 동작을 여러 번 반복해서 수행할 때 사용하는 명령어입니다. 반복문을 사용하면 특정 작업을 여러 번 수행할 수 있으며, 코드의 가독성을 높이고 작성하는 시간을 절약할 수 있습니다.

예시: "hi"를 10번 출력하기

반복문을 사용하지 않은 경우:

print('hi')
print('hi')
print('hi')
print('hi')
print('hi')
print('hi')
print('hi')
print('hi')
print('hi')
print('hi')

 

반복문을 사용한 경우:

for i in range(10):
    print('hi')

 

위의 예시에서 print('hi')를 10번 작성하는 대신, for 반복문을 사용하여 같은 결과를 훨씬 간결하게 표현할 수 있습니다. 만약 100번, 1000번 같은 반복이 필요하다면 반복문의 필요성이 더욱 커집니다.

반복문의 종류

  1. for문
  2. while문

 

for문이란?

앞서 예시에서 사용된 반복문은 for문입니다. for문은 특정 횟수만큼 반복할 때 주로 사용됩니다. 리스트, 문자열 등과 같은 시퀀스 자료형에 접근하기 쉬운 반복문으로, 가장 많이 사용되는 반복문 중 하나입니다.

예를 들어, for문을 사용하여 리스트의 모든 요소를 출력하거나, 문자열의 각 문자를 반복적으로 처리할 수 있습니다.

for문은 주로 반복할 횟수가 명확할 때 사용되며, range() 함수를 함께 사용하여 특정 범위 내에서 반복을 제어할 수 있습니다.

 

for 문 기본 구조

for 변수 in 시퀀스:
    실행할 코드
  • 변수: 시퀀스의 각 요소를 순차적으로 받아오는 변수입니다.
  • 시퀀스: 반복할 대상인 iterable 객체입니다. (예: range, 리스트, 튜플, 문자열 등)
  • 실행할 코드: 반복적으로 실행할 코드 블록입니다. 들여쓰기를 통해 코드 블록을 구분합니다.

 

시퀀스 종류

  1. range() 함수
    • 0에서 n-1까지 각 숫자에 대해 반복합니다.
    • range(s,e), range(s,e,k)로도 사용할 수 있습니다.
    • s : 시작 숫자
    • e : 끝 숫자 -1
    • k : k 간격
  2. 리스트와 튜플
    • 리스트와 튜플은 여러 요소를 담을 수 있는 시퀀스 자료형입니다.
    • 각 요소를 순회하며 작업을 수행할 때 for 문을 사용합니다.
  3. 문자열
    • 문자열은 문자들의 시퀀스입니다.
    • 각 문자에 순차적으로 접근하여 작업을 수행할 수 있습니다.

 

range() 예시:

# 0~9까지 출력합니다.
for i in range(10):
  print(i)

print("------------------")

# 1~4까지 출력합니다.
for i in range(1, 5):
  print(i)

print("------------------")

# 1부터 9까지 2간격으로 출력합니다. 1,3,5,7,9
for i in range(1, 10, 2):
  print(i)

print("------------------")

# 10부터 1까지 -1간격으로 출력합니다.
for i in range(10, 0, -1):
  print(i)

 

 

for문으로 리스트에 순차적으로 접근하기

lst = [1,6,2,7,9,3,1]
# len()은 해당 리스트, 문자열의 길이를 반환하는 메소드입니다.
for i in range(len(lst)):
  print(lst[i])

# lst의 요소에 순차적으로 접근
for i in lst:
  print(i)

 

for문으로 문자열에 순차적으로 접근하기

s = "hello world"
for i in range(len(s)):
  print(s[i])
  
for i in s:
  print(i)

 

 

 

while 문 정리

while 문은 조건이 참(True)인 동안 반복해서 코드를 실행하는 반복문입니다. 조건이 거짓(False)이 되면 반복이 종료됩니다. for 문과 달리 반복 횟수가 명확하지 않거나, 조건에 따라 반복 여부를 결정할 때 사용됩니다.

 

while문 기본 구조

while 조건문:
    실행할 코드

 

  • 조건문: 반복을 지속할 조건을 작성합니다. 조건이 참(True)일 때 코드 블록이 반복 실행됩니다.
  • 실행할 코드: 반복적으로 실행할 코드 블록입니다. 들여쓰기를 통해 코드 블록을 구분합니다.

 

while 문의 특징

  • 조건에 따라 반복: while 문은 조건이 참인 동안 반복을 계속하므로, 조건이 변할 때까지 계속해서 실행됩니다.
  • 무한 반복: 조건이 항상 참인 경우, while 문은 무한히 반복될 수 있습니다. 이런 경우, 프로그램이 멈추지 않도록 적절한 종료 조건을 설정해야 합니다.

 

while 문 예시

1. 기본 예시: 1부터 5까지 출력하기

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

2. 무한 반복 예시

while True:
    print("무한 반복 중입니다.")
    break  # 이 부분이 없으면 무한 반복됩니다.

이 코드에서는 True가 조건이므로, while 문은 무한히 반복됩니다. 그러나 break 문을 사용하여 반복을 중단할 수 있습니다.

3. 특정 조건에서 반복 종료: 사용자 입력 받기

user_input = ""

while user_input != "exit":
    user_input = input("종료하려면 'exit'를 입력하세요: ")
    print(f"입력한 값: {user_input}")

print("프로그램이 종료되었습니다.")

 

이 예제에서는 사용자가 "exit"를 입력할 때까지 반복합니다. "exit"가 입력되면 while 문이 종료되고 프로그램이 종료됩니다.

4. 반복 중간에 조건 확인하기

while 문 안에서 조건을 확인하고 반복을 중단하거나 계속할 수 있습니다.

n = 10

while n > 0:
    n -= 1
    if n == 5:
        print("5는 건너뛰기")
        continue  # 5일 때는 아래 코드를 건너뛰고 다음 반복으로 넘어갑니다.
    print(n)

 

 

for 문과 while 문 정리

  • for 문은 반복 횟수가 명확하거나, 리스트나 문자열 등 시퀀스 자료형에 순차적으로 접근할 때 유용합니다. 주로 반복 범위나 시퀀스를 지정하여 반복 작업을 처리합니다.
  • while 문은 조건이 참일 동안 반복을 계속하며, 조건에 따라 반복 횟수가 결정되지 않는 상황에서 사용됩니다. 특정 조건이 충족될 때까지 반복하거나, 무한 반복을 처리할 때도 사용됩니다.

두 반복문 모두 특정 작업을 반복적으로 수행할 수 있도록 도와주며, 상황에 맞게 적절한 반복문을 선택하는 것이 중요합니다.

  • for 문은 정해진 범위나 시퀀스를 처리할 때 효율적이고 가독성이 좋습니다.
  • while 문은 조건에 따라 반복이 달라질 때, 반복 횟수가 불명확할 때, 또는 무한 반복이 필요한 경우에 더 적합합니다.

반복문을 적절히 활용하여 코드의 복잡성을 줄이고, 가독성을 높일 수 있습니다.

728x90

'Python' 카테고리의 다른 글

[Python] Numpy 데이터 합치기, 쪼개기  (0) 2024.10.20
[Python] Numpy 인덱싱, 슬라이싱  (0) 2024.10.20
[Python] 넘파이(Numpy) 배열  (6) 2024.10.13
[Python] 리스트  (0) 2024.09.03
[Python] 함수  (0) 2024.08.27