프로그래밍을 처음 시작할 때 가장 먼저 배우는 것 중 하나가 바로 반복문입니다. 반복문은 코드의 효율성을 높이고, 같은 작업을 여러 번 수행할 때 필수적인 도구입니다. 오늘은 파이썬의 두 가지 주요 반복문인 for문과 while문에 대해 알아보겠습니다. 초보자도 쉽게 이해할 수 있도록 예제 코드와 함께 설명하니 끝까지 읽어보세요! 😊
🔍 파이썬의 반복문이란?
반복문은 특정 조건이 충족되는 동안, 또는 정해진 횟수만큼 코드를 반복 실행하는 구조입니다. 파이썬에서는 두 가지 주요 반복문을 제공합니다:
- `while` 문: 조건이 참(True)인 동안 코드를 반복 실행합니다.
- `for` 문: 컬렉션(리스트, 튜플 등)이나 범위를 순회하며 코드를 실행합니다.
🌀 while 문: 조건 기반 반복
기본 구조
`while` 문은 특정 조건이 참(True)일 때만 코드를 계속 실행합니다. 조건이 거짓(False)이 되면 루프가 종료됩니다.
```python
i = 1 # 초기값 설정
while i <= 5: # 조건 검사
print(f"현재 숫자: {i}")
i += 1 # i 값을 증가시켜 조건을 변경
```
실행 결과
```
현재 숫자: 1
현재 숫자: 2
현재 숫자: 3
현재 숫자: 4
현재 숫자: 5
```
무한 루프와 break 활용 🚨
조건을 잘못 설정하면 프로그램이 끝나지 않는 무한 루프에 빠질 수 있습니다. 이를 방지하려면 `break`를 사용해 루프를 강제로 종료할 수 있습니다.
```python
while True:
user_input = input("종료하려면 'q'를 입력하세요: ")
if user_input.lower() == 'q':
print("프로그램 종료!")
break # 루프 탈출
```
🔄 for 문: 컬렉션 기반 반복
기본 구조
`for` 문은 리스트, 튜플, 문자열 등 이터러블(iterable) 객체를 순회하며 각 요소에 접근합니다.
```python
fruits = ["사과", "바나나", "오렌지"]
for fruit in fruits:
print(f"나는 {fruit}를 좋아해요! 🍎🍌🍊")
```
실행 결과
```
나는 사과를 좋아해요! 🍎🍌🍊
나는 바나나를 좋아해요! 🍎🍌🍊
나는 오렌지를 좋아해요! 🍎🍌🍊
```
range() 함수와 함께 사용하기 📏
숫자를 반복하고 싶다면 `range()` 함수를 사용하세요. `range(start, stop, step)` 형식으로 시작값, 종료값, 증감값을 지정할 수 있습니다.
```python
for i in range(1, 6): # 1부터 5까지 반복 (6은 포함되지 않음)
print(f"카운트다운: {i}")
```
💡 while vs for: 언제 어떤 걸 사용할까?
🎯 실전 예제 모음
예제 1: 구구단 출력하기 (for 문 활용)
```python
# 구구단 출력하기 📖
for i in range(2, 10): # 단 (2단부터 9단까지)
for j in range(1, 10): # 곱하는 수 (1부터 9까지)
print(f"{i} x {j} = {i * j}")
print("-" * 10) # 단 구분선 출력
```
예제 2: 특정 조건 건너뛰기 (continue 활용)
```python
# 짝수만 출력하기 🔢
for i in range(1, 11):
if i % 2 != 0:
continue # 홀수는 건너뜀
print(f"짝수: {i}")
# 출력
짝수: 2
짝수: 4
짝수: 6
짝수: 8
짝수: 10
```
예제 3: 사용자 입력 받기 (while 문 활용)
```python
# 사용자 입력을 받아 합산하기 ➕
total = 0
while True:
num = input("숫자를 입력하세요 (종료하려면 'q'): ")
if num.lower() == 'q':
break
if not num.isdigit():
print("숫자를 입력해주세요!")
continue
total += int(num)
print(f"입력된 숫자의 총합은 {total}입니다.")
```
🚀 고급 팁: 더 효율적인 반복문 활용법
리스트 컴프리헨션으로 간결하게 작성하기 ✨
리스트 컴프리헨션을 사용하면 간단한 작업을 한 줄로 처리할 수 있습니다.
```python
# 기존 방식 (for 문)
squares = []
for x in range(10):
squares.append(x**2)
# 리스트 컴프리헨션 방식 💡
squares = [x**2 for x in range(10)]
print(squares)
# 출력
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
```
itertools 모듈로 강력한 반복 구현하기 🔧
파이썬의 `itertools` 모듈은 복잡한 반복 작업을 손쉽게 처리할 수 있습니다.
```python
from itertools import product
# 좌표 생성하기 🗺️ (x, y 조합)
for x, y in product(range(3), repeat=2):
print(f"좌표: ({x}, {y})")
# 출력
좌표: (0, 0)
좌표: (0, 1)
좌표: (0, 2)
좌표: (1, 0)
좌표: (1, 1)
좌표: (1, 2)
좌표: (2, 0)
좌표: (2, 1)
좌표 : (2, 2)
```
🏁 마무리하며…
파이썬의 `for`와 `while`은 매우 강력하면서도 직관적인 도구입니다. 오늘 배운 내용을 바탕으로 다양한 문제를 해결해 보세요! 😊 아래 팁도 기억하세요:
- `while`은 조건 기반으로 동작하므로 종료 조건을 명확히 설정하세요.
- `for`는 컬렉션 순회에 적합하며, `range()`와 함께 사용하면 유용합니다.
- 무한 루프가 필요하다면 반드시 `break`로 탈출 조건을 만들어야 합니다.
여러분도 이제 파이썬으로 멋진 코드를 작성할 준비가 되셨나요? 🐍💻
#파이썬 #Python #프로그래밍 #코딩 반복문 #while문 #for문 #리스트컴프리헨션 #itertools #코드예제 #프로그래밍기초 #소프트웨어개발 #데이터분석 #개발자팁 #파이썬초보


0 댓글