파이썬 2중 반복문: 하이픈 _ 모양과 별 * 모양을 교차 출력하기
파이썬 2중 반복문으로 하이픈과 별 모양 교차 출력하기
프로그래밍을 처음 배우는 많은 이들이 2중 반복문을 이해하는 데 어려움을 겪습니다. 파이썬에서는 이러한 반복문을 통해 다양한 패턴을 만들어낼 수 있습니다. 이 글에서는 하이픈 '-'과 별 '*'을 교차로 출력하는 방법을 단계별로 알아보겠습니다. 이러한 패턴은 코드 작성 능력뿐만 아니라 논리적 사고를 개발하는 데도 유용합니다.
파이썬 반복문의 기본 개념
반복문은 특정 작업을 여러 번 반복할 때 사용됩니다. 파이썬에서 가장 많이 사용되는 반복문은 for와 while입니다. 반복문을 사용하면 같은 작업을 효율적으로 처리할 수 있습니다. 초급 단계에서는 단일 반복문을 사용하여 간단한 패턴을 출력하는 법을 배웁니다.
예를 들어, 숫자 1부터 5까지를 출력하는 코드는 다음과 같습니다:
for i in range(1, 6):
print(i)
위 코드는 range() 함수를 사용하여 1부터 5까지의 숫자를 생성하고, 각각의 숫자를 print() 함수를 통해 출력합니다. 이러한 기본적인 반복문 사용법을 이해하는 것이 중요합니다.
초급 예제 1: 간단한 하이픈 출력
이제 하이픈 '-'을 출력하는 간단한 예제를 살펴보겠습니다. 이 예제는 가장 기본적인 형태의 2중 반복문 없이 단일 반복문으로 작성됩니다.
for i in range(5):
print('-')
위 예제는 하이픈을 다섯 번 출력합니다. 이는 기본적인 반복문 사용법을 익히기 위한 첫 단계입니다. 이제 조건문을 추가하여 조금 더 복잡한 예제를 만들어 보겠습니다.
초급 예제 2: 하이픈과 별 모양 교차 출력
이번에는 하이픈과 별 모양을 교차로 출력하는 방법을 알아보겠습니다. 이 예제에서는 if 문을 활용하여 출력 모양을 결정합니다.
for i in range(10):
if i % 2 == 0:
print('-')
else:
print('*')
이 코드는 10번의 루프를 돌며 짝수번째에는 하이픈을, 홀수번째에는 별을 출력합니다. i % 2 == 0는 'i가 짝수인지'를 묻는 조건문입니다. 이처럼 조건문을 사용하여 복잡한 출력 패턴을 만들 수 있습니다.
중급 예제 3: 2중 반복문을 사용한 패턴 출력
이제 2중 반복문을 사용하여 보다 복잡한 패턴을 출력해보겠습니다. 간단한 예제로 사각형 패턴을 출력하는 방법을 알아봅시다.
for i in range(5):
for j in range(5):
if (i + j) % 2 == 0:
print('-', end='')
else:
print('*', end='')
print()
위 예제는 5x5 크기의 격자를 만들어 각 칸을 하이픈이나 별로 채웁니다. 내부 반복문에서 end=''를 사용하여 줄바꿈 없이 문자를 이어서 출력합니다. print()를 통해 각 행이 끝날 때마다 줄바꿈을 추가합니다.
중급 예제 4: 교차 형태 패턴 출력
이 예제에서는 교차 형태의 패턴을 출력합니다. 이를 통해 2중 반복문을 응용하는 방법을 더 깊게 이해할 수 있습니다.
for i in range(7):
for j in range(7):
if i == j or i + j == 6:
print('*', end='')
else:
print('-', end='')
print()
이 코드는 대각선으로 별을 출력하며, 이외의 부분은 하이픈으로 채웁니다. i == j는 주 대각선을, i + j == 6는 부 대각선을 나타냅니다.
자주 하는 실수
for i in range(5):
for j in range(5):
print('-', end='')
print()
위 코드는 줄바꿈 없이 모든 하이픈을 한 줄로 출력합니다. print()를 안쪽 for문 밖으로 옮겨야 합니다.
for i in range(5):
for j in range(5):
print('-', end='')
print()
코드의 위치에 따라 결과가 어떻게 달라지는지 이해하는 것이 중요합니다.
상급 예제 1: 함수 도입
반복문과 조건문을 조합하여 더 복잡한 패턴을 출력하려면 함수가 필요합니다. 함수는 코드를 재사용 가능하게 하고 가독성을 높여줍니다.
def print_pattern(size):
for i in range(size):
for j in range(size):
if (i + j) % 2 == 0:
print('-', end='')
else:
print('*', end='')
print()
이 함수는 주어진 크기의 패턴을 출력합니다. 이제 size 값을 변경하여 다양한 크기의 패턴을 쉽게 출력할 수 있습니다.
상급 예제 2: 사용자 입력 활용
함수를 사용하여 사용자로부터 입력을 받아 패턴을 출력할 수 있습니다. 이를 통해 프로그램의 유연성을 높입니다.
def print_custom_pattern():
size = int(input('패턴의 크기를 입력하세요: '))
for i in range(size):
for j in range(size):
if (i + j) % 2 == 0:
print('-', end='')
else:
print('*', end='')
print()
사용자가 입력한 크기에 맞춰 패턴을 출력합니다. 입력값을 통해 프로그램을 더욱 인터렉티브하게 만들 수 있습니다.
상급 예제 3: 파일 저장 기능 추가
마지막으로 출력 결과를 파일에 저장하는 기능을 추가해봅시다. 이는 실무에 유용한 기능입니다.
def save_pattern_to_file(filename, size):
with open(filename, 'w') as file:
for i in range(size):
for j in range(size):
if (i + j) % 2 == 0:
file.write('-')
else:
file.write('*')
file.write('\n')
save_pattern_to_file('pattern.txt', 5)
이 함수는 패턴을 파일로 저장합니다. with open() 구문을 사용하여 파일을 열고, write() 함수를 통해 데이터를 기록합니다.
요약
이번 글에서는 파이썬 2중 반복문을 활용하여 하이픈과 별 모양을 교차 출력하는 방법을 단계별로 소개했습니다. 초급부터 상급까지 다양한 예제를 통해 반복문과 조건문, 그리고 함수를 활용하는 방법을 익힐 수 있었습니다.
#파이썬초급 #반복문기초 #파이썬반복문 #교차출력 #코딩예제 #프로그래밍입문 #파이썬중급 #패턴출력 #코딩실습 #파이썬함수