본문 바로가기

[Python] 47강 메뉴형 콘솔 프로그램 구조 만들기

@도마22026. 1. 13. 21:00
728x90


이 강의는 파이썬 강의 47강입니다.
이전 강의에서는 리팩토링을 통해 코드를 더 좋게 만드는 방법을 배웠습니다.
이번 강의에서는 지금까지 배운 모든 개념을 한 구조로 묶는
메뉴형 콘솔 프로그램 구조를 만듭니다.

이 구조는

  • 자동화 프로그램
  • 관리 프로그램
  • 게임
    기본 뼈대가 됩니다.

메뉴형 프로그램이란 무엇인가

메뉴형 콘솔 프로그램은
사용자가 선택을 반복하면서
프로그램이 계속 실행되는 구조입니다.

예를 들면:

1. 목록 보기
2. 추가하기
3. 삭제하기
0. 종료

이 구조 하나로
수많은 프로그램을 만들 수 있습니다.


1️⃣ 메뉴형 프로그램의 핵심 구조

메뉴형 프로그램의 핵심은 딱 3가지입니다.

  1. 메뉴 출력
  2. 사용자 입력
  3. 선택에 따른 처리

그리고 이 전체를
while 반복문으로 감쌉니다.


2️⃣ 가장 단순한 메뉴 구조

먼저 전체 흐름만 봅니다.

while True:
    print("1. 인사하기")
    print("0. 종료")

    choice = input("선택: ")

    if choice == "1":
        print("안녕하세요")
    elif choice == "0":
        break

이게 메뉴형 프로그램의 최소 구조입니다.


3️⃣ 메뉴 출력은 함수로 분리하기

메뉴 출력은
함수로 분리하는 게 좋습니다.

def show_menu():
    print("1. 인사하기")
    print("0. 종료")
while True:
    show_menu()
    choice = input("선택: ")

코드 읽기가 훨씬 쉬워집니다.


4️⃣ 선택 처리도 함수로 분리하기

선택에 따른 행동도
함수로 나눕니다.

def say_hello():
    print("안녕하세요")
if choice == "1":
    say_hello()

메뉴 = 흐름 / 함수 = 기능
이 분리가 핵심입니다.


메뉴 = 흐름 / 함수 = 기능
이 분리가 핵심입니다.

def show_menu():
    print("1. 인사하기")
    print("0. 종료")

def say_hello():
    print("안녕하세요")

while True:
    show_menu()
    choice = input("선택: ")

    if choice == "1":
        say_hello()
    elif choice == "0":
        print("프로그램 종료")
        break
    else:
        print("잘못된 선택입니다.")

이 구조는
앞으로 계속 재사용됩니다.


6️⃣ 메뉴형 구조의 장점

이 구조의 장점은 명확합니다.

  • 기능 추가가 쉽다
  • 흐름이 한눈에 보인다
  • 코드가 잘 안 꼬인다

새 기능을 추가할 때는
함수 하나 + 메뉴 한 줄이면 끝입니다.


7️⃣ 상태와 메뉴 구조

메뉴형 프로그램은
상태(state)와 아주 잘 어울립니다.

count = 0
def increase():
    global count
    count += 1

상태를 바꾸는 기능들을
메뉴로 묶는 구조입니다.


8️⃣ 실습 예제

아래 조건을 만족하는
메뉴형 프로그램을 만들어보세요.

  • 1번: 숫자 1 증가
  • 2번: 현재 숫자 출력
  • 0번: 종료
더보기

힌트: while, if/elif, 함수 분리


이번 강의 핵심 정리

  • 메뉴형 프로그램은 while 기반 구조다
  • 메뉴 출력과 기능은 분리한다
  • 선택 → 처리 흐름이 핵심이다
  • 이 구조는 거의 모든 프로그램의 기본이다

728x90
도마2
@도마2 :: 도마의 코드노트

초보자를 위한 코딩 강의를 정리합니다. 파이썬부터 C#, Unity 게임 제작까지 차근차근 기록합니다. — 도마

목차