11-2. Python 기초 4. 반복문 실습 예제: 메뉴판 주문 프로그램 만들기

Ad Placeholder

if문과 for, while 반복문을 활용해 간단한 주문 프로그램 만들기

설명
Python의 조건문과 반복문을 활용하면 실제 음식점의 주문 시스템과 비슷한 프로그램을 만들어볼 수 있습니다. 메뉴를 보여주고 사용자의 주문을 받은 뒤, 주문을 계속 추가하거나 종료하는 과정을 if, for, while문으로 구현해보겠습니다.


메뉴판 만들기

먼저 간단한 메뉴판을 만들어보겠습니다.

menu = ["김밥", "라면", "돈까스", "김치볶음밥"]

price = [3000, 4000, 7000, 6000]

for i in range(len(menu)):

  print(i + 1, menu[i], price[i], "원")

실행하면 다음과 같은 메뉴판이 만들어집니다.

1 김밥 3000원
2 라면 4000원
3 돈까스 7000원
4 김치볶음밥 6000원

여기서 for문은 메뉴의 개수만큼 반복하면서 메뉴판을 출력합니다.


if문으로 메뉴 선택하기

사용자가 메뉴 번호를 입력하면 if문으로 어떤 메뉴를 선택했는지 확인할 수 있습니다.

choice = int(input("메뉴 번호를 선택하세요: "))

if choice == 1:

  print("김밥을 선택했습니다.")

elif choice == 2:

  print("라면을 선택했습니다.")

elif choice == 3:

  print("돈까스를 선택했습니다.")

elif choice == 4:

  print("김치볶음밥을 선택했습니다.")

else:

  print("잘못된 메뉴입니다.")

이처럼 if, elif, else를 이용하면 사용자의 선택에 따라 다른 결과를 실행할 수 있습니다.


while문으로 계속 주문받기

음식점에서는 메뉴 하나를 주문했다고 프로그램이 끝나면 안 됩니다.

여러 메뉴를 주문할 수 있도록 while문을 사용합니다.

total = 0

while True:

  choice = int(input("메뉴 번호를 선택하세요: "))

  if choice == 1:

    total += 3000

    print("김밥을 주문했습니다.")

  elif choice == 2:

    total += 4000

    print("라면을 주문했습니다.")

  elif choice == 3:

    total += 7000

    print("돈까스를 주문했습니다.")

  elif choice == 4:

    total += 6000

    print("김치볶음밥을 주문했습니다.")

  elif choice == 0:

    break

  else:

    print("잘못된 메뉴입니다.")

사용자가 0을 입력하면 break가 실행되면서 주문이 종료됩니다.


주문 금액 계산하기

주문이 끝나면 지금까지 주문한 금액을 출력할 수 있습니다.

print("주문이 완료되었습니다.")

print("총 주문 금액:", total, "원")

예를 들어 김밥과 라면을 주문했다면 다음과 같이 출력됩니다.

김밥을 주문했습니다.

라면을 주문했습니다.

주문이 완료되었습니다.

총 주문 금액: 7000 원


완성된 주문 프로그램

menu = ["김밥", "라면", "돈까스", "김치볶음밥"]

price = [3000, 4000, 7000, 6000]

total = 0

while True:

  print("\n=== 메뉴판 ===")

  for i in range(len(menu)):

    print(i + 1, menu[i], price[i], "원")

  print("0. 주문 완료")

  choice = int(input("메뉴 번호를 선택하세요: "))

  if choice == 0:

    break

  elif 1 <= choice <= len(menu):

    total += price[choice - 1]

    print(menu[choice - 1], "을(를) 주문했습니다.")

  else:

    print("잘못된 메뉴 번호입니다.")

print("\n주문이 완료되었습니다.")

print("총 주문 금액:", total, "원")

이제 메뉴를 여러 번 선택할 수 있고, 0을 입력하면 주문이 종료됩니다.


코드에서 사용한 문법 정리

문법역할
if주문 완료 여부와 메뉴 번호 확인
elif메뉴 번호가 올바른지 확인
else잘못된 입력 처리
for메뉴판 출력
while주문을 계속 받기
break주문 종료
list메뉴와 가격 저장
+=주문 금액 누적

이번 예제에서는 각각의 문법이 하나의 프로그램 안에서 자연스럽게 연결되어 있습니다.


직접 추가해볼 기능

기본 주문 프로그램을 완성했다면 다음 기능을 추가해보세요.

  • 메뉴별 주문 수량 표시하기
  • 주문 내역을 마지막에 출력하기
  • 메뉴를 직접 추가하거나 삭제하기
  • 10,000원 이상 주문하면 할인 적용하기
  • 음료 메뉴 추가하기
  • 주문 취소 기능 만들기

예를 들어 10,000원 이상 주문했을 때 할인을 적용하려면 if문을 추가할 수 있습니다.

if total >= 10000:

  total = total - 1000

  print("1000원 할인이 적용되었습니다.")

조건문 하나만 추가해도 프로그램에 새로운 기능을 만들 수 있습니다.


마무리

이번 메뉴판 주문 프로그램에서는 지금까지 배운 Python 문법을 실제 프로그램처럼 활용해봤습니다.

for문으로 메뉴판을 출력하고, while문으로 계속 주문을 받으며, if, elif, else로 사용자의 선택을 처리했습니다.

여기에 break를 사용해 주문을 종료하고 +=를 이용해 주문 금액까지 계산했습니다.

단순한 문법 연습에서 한 단계 더 나아가 실제로 사용할 수 있는 작은 프로그램을 만들어보는 것이 Python을 익히는 데 큰 도움이 됩니다.

jiji

AI, Python, 생활정보와 정부 정책 정보를 쉽게 설명하는 정보 블로그입니다.

Ad Placeholder
Scroll to Top