구구단 출력 프로그램 만들기

파이썬 하루 하나씩 배우기: 구구단 출력 프로그램 만들기

파이썬을 처음 배우는 분들에게 가장 친숙한 예제 중 하나가 바로 구구단 출력 프로그램입니다. 반복문과 출력문을 활용하여 간단하게 구현할 수 있으며, 프로그래밍의 기본 개념을 익히기에 좋은 시작점입니다. 이 글에서는 파이썬을 활용하여 구구단을 출력하는 다양한 방법을 소개하고, 각 방법의 특징과 장단점을 살펴보겠습니다.

Thank you for reading this post, don't forget to subscribe!

1. for문을 이용한 구구단 출력

구구단 일러스트 이미지

파이썬에서 가장 기본적인 반복문인 for문을 활용하여 구구단을 출력할 수 있습니다. 이중 for문을 사용하면 2단부터 9단까지의 모든 곱셈 결과를 출력할 수 있습니다.


for x in range(2, 10):
    for y in range(1, 10):
        print(f"{x} x {y} = {x * y}")
    print("----------")

이 코드는 range(2, 10)을 사용하여 2부터 9까지의 숫자를 반복하고, 각 단마다 1부터 9까지 곱하여 결과를 출력합니다. print("----------")는 각 단의 구분을 위해 사용됩니다.

2. while문을 이용한 구구단 출력

구구단 표 이미지

while문을 사용하여 구구단을 출력할 수도 있습니다. while문은 조건이 참인 동안 반복되므로, 반복 조건을 명확히 설정해야 합니다.


i = 2
while i < 10:
    j = 1
    while j < 10:
        print(f"{i} x {j} = {i * j}")
        j += 1
    print("----------")
    i += 1

이 코드는 ij를 초기화한 후, i가 2부터 9까지, j가 1부터 9까지 반복되도록 설정하여 구구단을 출력합니다.

3. 사용자 입력을 받아 특정 단 출력하기

디자인 구구단 이미지

사용자로부터 특정 단을 입력받아 해당 단의 구구단을 출력하는 프로그램을 작성할 수 있습니다. input() 함수를 사용하여 사용자 입력을 받고, int() 함수를 사용하여 정수로 변환합니다.


num = int(input("출력할 구구단 단수를 입력하세요 (2~9): "))
if 2 <= num <= 9:
    for i in range(1, 10):
        print(f"{num} x {i} = {num * i}")
else:
    print("2에서 9 사이의 숫자를 입력해주세요.")

이 코드는 사용자가 입력한 숫자가 2에서 9 사이인지 확인한 후, 해당 단의 구구단을 출력합니다. 유효하지 않은 입력에 대해서는 안내 메시지를 출력합니다.

4. 함수로 구구단 출력 기능 구현하기

파이썬에서 함수를 사용하면 코드를 더 깔끔하고 재사용 가능하게 만들 수 있습니다. 구구단 출력 기능을 함수로 구현해보겠습니다.


def print_gugudan(dan):
    for i in range(1, 10):
        print(f"{dan} x {i} = {dan * i}")

# 함수 호출 예시
print_gugudan(3)

위 코드는 3단을 출력하는 함수입니다. 함수의 인자로 원하는 단수를 전달하면 해당 단의 구구단을 출력합니다.

5. 사용자 입력을 통한 구구단 출력

사용자로부터 입력을 받아 해당 단의 구구단을 출력하는 프로그램을 작성해보겠습니다.


def print_gugudan(dan):
    for i in range(1, 10):
        print(f"{dan} x {i} = {dan * i}")

# 사용자로부터 입력 받기
try:
    user_input = int(input("출력할 단을 입력하세요 (2~9): "))
    if 2 <= user_input <= 9:
        print_gugudan(user_input)
    else:
        print("2부터 9 사이의 숫자를 입력해주세요.")
except ValueError:
    print("숫자를 입력해주세요.")

위 코드는 사용자로부터 숫자를 입력받아 해당 단의 구구단을 출력합니다. 입력값이 2부터 9 사이의 숫자인지 확인하고, 그 외의 경우에는 오류 메시지를 출력합니다.

6. 전체 구구단 출력 함수 구현

전체 구구단을 출력하는 함수를 작성해보겠습니다. 2단부터 9단까지 반복하여 출력합니다.


def print_all_gugudan():
    for dan in range(2, 10):
        print(f"--- {dan}단 ---")
        for i in range(1, 10):
            print(f"{dan} x {i} = {dan * i}")
        print()

# 함수 호출
print_all_gugudan()

위 코드는 2단부터 9단까지의 구구단을 순서대로 출력합니다. 각 단의 시작 부분에 단수를 표시하여 가독성을 높였습니다.

7. 실전 후기 및 사용자 꿀팁

✔ 핵심은 이것!
단순한 반복문도 함수와 조건문으로 조합하면 더 유연하게 확장할 수 있습니다. 처음엔 단순한 for문으로 시작했지만, 함수로 구조화하면서 프로그램을 한층 더 이해하게 되었습니다.

처음 구구단 프로그램을 짤 때는 ‘이걸 뭘 함수까지 써야 하나?’ 생각했죠. 그런데 사용자 입력이나 예외 처리까지 가면, 함수로 짜는 게 얼마나 편한지 절로 느끼게 되더라고요.

🧠 개인 팁: 구구단은 결국 반복과 구조화의 연습입니다. 다양한 경우를 상상하면서 ‘단 하나의 동작’을 추상화하는 연습이 진짜 도움이 됩니다. 특히 친구에게 설명하듯 말하면서 코드를 짜면 스스로도 논리가 정리되더라고요.

추천 연습:

  • 입력값을 리스트로 받아 여러 단을 한꺼번에 출력해보기
  • 구구단 결과를 표 형식으로 정렬해서 출력해보기
  • 중첩 반복문에서 break, continue를 응용해보기

경험이 쌓이면서 단순했던 반복문이 더 복잡한 문제를 푸는 기본기가 된다는 걸 체감합니다. 그게 바로 프로그래밍의 힘이죠.

8. 자주 묻는 질문 FAQ

구구단은 파이썬 초보자에게 어떤 의미가 있나요?

구구단은 반복문과 함수 개념을 처음 배우는 데 최적의 예제입니다. 기본기 연습에 매우 효과적입니다.

구구단을 응용한 연습 방법이 있을까요?

구구단 결과를 리스트나 테이블로 출력하거나 GUI 인터페이스를 활용한 출력도 좋은 연습입니다.

사용자 입력은 왜 try-except로 처리하나요?

예외 상황에 대비하지 않으면 프로그램이 종료되기 때문입니다. 안정적인 코드 작성을 위한 필수 과정입니다.

print 함수 말고 다른 출력 방법이 있나요?

표 형식 출력을 위해 f-string과 함께 format() 또는 tabulate, pandas 라이브러리를 사용할 수 있습니다.

이 코드를 어디까지 확장할 수 있을까요?

웹 서버에서 동작하는 구구단 웹앱, 단과 결과를 데이터베이스에 저장하는 응용까지도 가능합니다.

9. 참고 이미지 및 외부 자료 요약

구구단 프로그램을 더욱 깊이 이해하고 다양한 방식으로 구현해보기 위해 아래의 외부 자료를 참고해보세요. 각 자료는 구구단 구현에 대한 다양한 접근 방식을 제공합니다.

또한, 아래의 이미지는 구구단 프로그램의 시각적인 예시를 보여줍니다. 각 이미지를 클릭하면 원본 페이지로 이동하여 더 자세한 내용을 확인할 수 있습니다.


입력문을 사용한 구구단 예시

입력문을 사용한 구구단 예시


파이썬 구구단 출력 예시

파이썬 구구단 출력 예시

이러한 자료들을 참고하여 구구단 프로그램을 다양한 방식으로 구현해보며 파이썬의 기초 문법과 프로그래밍 논리를 더욱 탄탄하게 다져보세요.

10. 마무리하며

처음 시작은 늘 어렵지만, 그만큼 의미도 큽니다. 구구단 프로그램을 만들며 우리는 파이썬의 기본 문법뿐 아니라, 코드의 흐름과 구조적 사고를 경험하게 됩니다. 이 글이 파이썬 첫걸음을 내딛는 데 있어 작은 나침반이 되었기를 바랍니다.

여러분은 어떤 방식으로 구구단을 구현해보셨나요? 댓글이나 공유로 경험을 나눠보세요!

🔍 오늘의 콘텐츠 만족도는?

⭐⭐⭐⭐☆ (4.6/5)

🔎 전체 흐름 요약: 구구단 프로그램 구성 흐름도

이 블로그 콘텐츠는 학습 목적으로 제작되었으며, 파이썬 입문자를 위한 지식 공유에 목적이 있습니다.
ⓒ 2025. HANSORI.AI Blog Labs. All rights reserved.

HANSORI.AI_Blog Labs에서 더 알아보기

구독을 신청하면 최신 게시물을 이메일로 받아볼 수 있습니다.