여러 기능이 있는 프로그램 만들기
여러 기능이 있는 프로그램 만들기
🎯 이번 시간에 배울 것
- 여러 기능이 있는 프로그램 만들기
- AI에게 더 자세한 요청하는 방법
- 프로그램을 단계적으로 구성하는 방법
🌟 Chapter 4-1에서 배운 것
지난 시간 복습
Chapter 4-1에서 Compose로 간단한 프로그램들을 만들어봤죠!
# 간단한 인사 프로그램
print("=== 인사 프로그램 ===")
name = input("이름을 입력하세요: ")
print("안녕하세요,", name, "님!")
# 간단한 인사 프로그램
print("=== 인사 프로그램 ===")
name = input("이름을 입력하세요: ")
print("안녕하세요,", name, "님!")
이제는 기능이 더 많은 프로그램을 만들어보겠습니다! 🚀
🏗️ 더 많은 기능이 있는 프로그램이란?
🏠 기본 프로그램 vs 다기능 프로그램
기본 프로그램:
- 기능이 하나
- 코드가 짧음
- 한 번 실행하고 끝
다기능 프로그램:
- 여러 기능이 함께
- 선택할 수 있는 메뉴
- 더 유용함
🎉 예시로 이해하기
기본 프로그램 (계산기):
# 간단한 더하기 계산기
num1 = int(input("첫 번째 숫자: "))
num2 = int(input("두 번째 숫자: "))
result = num1 + num2
print("결과:", result)
# 간단한 더하기 계산기
num1 = int(input("첫 번째 숫자: "))
num2 = int(input("두 번째 숫자: "))
result = num1 + num2
print("결과:", result)
다기능 프로그램 (선택형 계산기):
# 다기능 계산기
print("=== 계산기 프로그램 ===")
print("1. 더하기")
print("2. 빼기")
print("3. 곱하기")
print("4. 나누기")
choice = input("원하는 계산을 선택하세요 (1-4): ")
if choice == "1":
num1 = int(input("첫 번째 숫자: "))
num2 = int(input("두 번째 숫자: "))
result = num1 + num2
print("결과:", result)
elif choice == "2":
num1 = int(input("첫 번째 숫자: "))
num2 = int(input("두 번째 숫자: "))
result = num1 - num2
print("결과:", result)
# ... 다른 기능들도 비슷하게
# 다기능 계산기
print("=== 계산기 프로그램 ===")
print("1. 더하기")
print("2. 빼기")
print("3. 곱하기")
print("4. 나누기")
choice = input("원하는 계산을 선택하세요 (1-4): ")
if choice == "1":
num1 = int(input("첫 번째 숫자: "))
num2 = int(input("두 번째 숫자: "))
result = num1 + num2
print("결과:", result)
elif choice == "2":
num1 = int(input("첫 번째 숫자: "))
num2 = int(input("두 번째 숫자: "))
result = num1 - num2
print("결과:", result)
# ... 다른 기능들도 비슷하게
🚀 실습 1: 학생 점수 관리 프로그램
AI에게 요청하기
새 파일에서 Ctrl+I:
학생 점수 관리 프로그램을 만들어주세요.
기능:
1. 학생 한 명의 점수 입력받기 (이름, 국어, 영어, 수학)
2. 평균 점수 계산하기
3. 등급 계산하기 (A, B, C, D, F)
4. 결과 출력하기
요구사항:
- 사용자가 메뉴에서 선택할 수 있게 해주세요
- 점수는 0~100 사이만 입력받게 해주세요
학생 점수 관리 프로그램을 만들어주세요.
기능:
1. 학생 한 명의 점수 입력받기 (이름, 국어, 영어, 수학)
2. 평균 점수 계산하기
3. 등급 계산하기 (A, B, C, D, F)
4. 결과 출력하기
요구사항:
- 사용자가 메뉴에서 선택할 수 있게 해주세요
- 점수는 0~100 사이만 입력받게 해주세요
AI가 생성한 결과
# 학생 점수 관리 프로그램
print("=== 학생 점수 관리 프로그램 ===")
print("1. 학생 점수 입력하기")
print("2. 프로그램 종료")
choice = input("메뉴를 선택하세요 (1-2): ")
if choice == "1":
print("\n=== 학생 점수 입력 ===")
# 학생 정보 입력받기
name = input("학생 이름: ")
# 국어 점수 입력
korean_input = input("국어 점수 (0-100): ")
if korean_input.isdigit():
korean = int(korean_input)
if korean < 0 or korean > 100:
print("❌ 점수는 0~100 사이로 입력해주세요!")
korean = 0
else:
print("❌ 숫자로 입력해주세요!")
korean = 0
# 영어 점수 입력
english_input = input("영어 점수 (0-100): ")
if english_input.isdigit():
english = int(english_input)
if english < 0 or english > 100:
print("❌ 점수는 0~100 사이로 입력해주세요!")
english = 0
else:
print("❌ 숫자로 입력해주세요!")
english = 0
# 수학 점수 입력
math_input = input("수학 점수 (0-100): ")
if math_input.isdigit():
math = int(math_input)
if math < 0 or math > 100:
print("❌ 점수는 0~100 사이로 입력해주세요!")
math = 0
else:
print("❌ 숫자로 입력해주세요!")
math = 0
# 평균 계산
total = korean + english + math
average = total / 3
# 등급 계산
if average >= 90:
grade = "A"
elif average >= 80:
grade = "B"
elif average >= 70:
grade = "C"
elif average >= 60:
grade = "D"
else:
grade = "F"
# 결과 출력
print("\n=== 결과 ===")
print("학생 이름:", name)
print("국어 점수:", korean)
print("영어 점수:", english)
print("수학 점수:", math)
print("평균 점수:", round(average, 1))
print("등급:", grade)
elif choice == "2":
print("👋 프로그램을 종료합니다!")
else:
print("❌ 1 또는 2를 선택해주세요!")
# 학생 점수 관리 프로그램
print("=== 학생 점수 관리 프로그램 ===")
print("1. 학생 점수 입력하기")
print("2. 프로그램 종료")
choice = input("메뉴를 선택하세요 (1-2): ")
if choice == "1":
print("\n=== 학생 점수 입력 ===")
# 학생 정보 입력받기
name = input("학생 이름: ")
# 국어 점수 입력
korean_input = input("국어 점수 (0-100): ")
if korean_input.isdigit():
korean = int(korean_input)
if korean < 0 or korean > 100:
print("❌ 점수는 0~100 사이로 입력해주세요!")
korean = 0
else:
print("❌ 숫자로 입력해주세요!")
korean = 0
# 영어 점수 입력
english_input = input("영어 점수 (0-100): ")
if english_input.isdigit():
english = int(english_input)
if english < 0 or english > 100:
print("❌ 점수는 0~100 사이로 입력해주세요!")
english = 0
else:
print("❌ 숫자로 입력해주세요!")
english = 0
# 수학 점수 입력
math_input = input("수학 점수 (0-100): ")
if math_input.isdigit():
math = int(math_input)
if math < 0 or math > 100:
print("❌ 점수는 0~100 사이로 입력해주세요!")
math = 0
else:
print("❌ 숫자로 입력해주세요!")
math = 0
# 평균 계산
total = korean + english + math
average = total / 3
# 등급 계산
if average >= 90:
grade = "A"
elif average >= 80:
grade = "B"
elif average >= 70:
grade = "C"
elif average >= 60:
grade = "D"
else:
grade = "F"
# 결과 출력
print("\n=== 결과 ===")
print("학생 이름:", name)
print("국어 점수:", korean)
print("영어 점수:", english)
print("수학 점수:", math)
print("평균 점수:", round(average, 1))
print("등급:", grade)
elif choice == "2":
print("👋 프로그램을 종료합니다!")
else:
print("❌ 1 또는 2를 선택해주세요!")
🎉 훌륭한 결과!
다기능 프로그램의 특징들:
- 메뉴 선택 기능
- 입력 검증 기능 (올바른 숫자인지 확인)
- 여러 단계로 나뉜 처리
- 체계적인 결과 출력
🎮 실습 2: 음식 주문 프로그램
더 재미있는 요청하기
새 파일에서 Ctrl+I:
음식 주문 프로그램을 만들어주세요.
메뉴:
1. 김치찌개 - 8000원
2. 불고기 - 12000원
3. 비빔밥 - 9000원
기능:
1. 메뉴 보여주기
2. 음식 선택하기
3. 수량 입력받기
4. 총 가격 계산하기
5. 주문 내역 출력하기
음식 주문 프로그램을 만들어주세요.
메뉴:
1. 김치찌개 - 8000원
2. 불고기 - 12000원
3. 비빔밥 - 9000원
기능:
1. 메뉴 보여주기
2. 음식 선택하기
3. 수량 입력받기
4. 총 가격 계산하기
5. 주문 내역 출력하기
예상 결과
# 음식 주문 프로그램
print("🍽️ 맛있는 음식점에 오신 것을 환영합니다!")
print("\n=== 메뉴 ===")
print("1. 김치찌개 - 8,000원")
print("2. 불고기 - 12,000원")
print("3. 비빔밥 - 9,000원")
print("4. 주문 취소")
choice = input("\n메뉴를 선택하세요 (1-4): ")
if choice == "1":
food_name = "김치찌개"
food_price = 8000
print("김치찌개를 선택하셨습니다!")
elif choice == "2":
food_name = "불고기"
food_price = 12000
print("불고기를 선택하셨습니다!")
elif choice == "3":
food_name = "비빔밥"
food_price = 9000
print("비빔밥을 선택하셨습니다!")
elif choice == "4":
food_name = ""
food_price = 0
print("주문을 취소하셨습니다.")
else:
food_name = ""
food_price = 0
print("❌ 올바른 메뉴를 선택해주세요!")
# 음식을 선택했다면 수량 입력받기
if food_name != "":
quantity_input = input("수량을 입력하세요: ")
if quantity_input.isdigit():
quantity = int(quantity_input)
if quantity > 0:
total_price = food_price * quantity
print("\n=== 주문 내역 ===")
print("음식:", food_name)
print("가격:", format(food_price, ","), "원")
print("수량:", quantity, "개")
print("총 가격:", format(total_price, ","), "원")
print("✅ 주문이 완료되었습니다!")
else:
print("❌ 수량은 1개 이상으로 입력해주세요!")
else:
print("❌ 숫자로 입력해주세요!")
# 음식 주문 프로그램
print("🍽️ 맛있는 음식점에 오신 것을 환영합니다!")
print("\n=== 메뉴 ===")
print("1. 김치찌개 - 8,000원")
print("2. 불고기 - 12,000원")
print("3. 비빔밥 - 9,000원")
print("4. 주문 취소")
choice = input("\n메뉴를 선택하세요 (1-4): ")
if choice == "1":
food_name = "김치찌개"
food_price = 8000
print("김치찌개를 선택하셨습니다!")
elif choice == "2":
food_name = "불고기"
food_price = 12000
print("불고기를 선택하셨습니다!")
elif choice == "3":
food_name = "비빔밥"
food_price = 9000
print("비빔밥을 선택하셨습니다!")
elif choice == "4":
food_name = ""
food_price = 0
print("주문을 취소하셨습니다.")
else:
food_name = ""
food_price = 0
print("❌ 올바른 메뉴를 선택해주세요!")
# 음식을 선택했다면 수량 입력받기
if food_name != "":
quantity_input = input("수량을 입력하세요: ")
if quantity_input.isdigit():
quantity = int(quantity_input)
if quantity > 0:
total_price = food_price * quantity
print("\n=== 주문 내역 ===")
print("음식:", food_name)
print("가격:", format(food_price, ","), "원")
print("수량:", quantity, "개")
print("총 가격:", format(total_price, ","), "원")
print("✅ 주문이 완료되었습니다!")
else:
print("❌ 수량은 1개 이상으로 입력해주세요!")
else:
print("❌ 숫자로 입력해주세요!")
🔧 다기능 프로그램 만드는 요령
1. 체계적인 요청 작성
✅ 좋은 요청:
할일 관리 프로그램을 만들어주세요.
기능:
1. 할일 추가하기
2. 할일 목록 보기
3. 할일 완료 표시하기
요구사항:
- 메뉴에서 선택할 수 있게 해주세요
- 할일은 최대 5개까지만 저장해주세요
할일 관리 프로그램을 만들어주세요.
기능:
1. 할일 추가하기
2. 할일 목록 보기
3. 할일 완료 표시하기
요구사항:
- 메뉴에서 선택할 수 있게 해주세요
- 할일은 최대 5개까지만 저장해주세요
❌ 모호한 요청:
할일 프로그램 만들어주세요
할일 프로그램 만들어주세요
2. 단계별로 기능 추가
1단계: "기본 할일 추가 기능만 있는 프로그램 만들어주세요"
2단계: "할일 목록을 볼 수 있는 기능을 추가해주세요"
3단계: "할일 완료 기능을 추가해주세요"
1단계: "기본 할일 추가 기능만 있는 프로그램 만들어주세요"
2단계: "할일 목록을 볼 수 있는 기능을 추가해주세요"
3단계: "할일 완료 기능을 추가해주세요"
🎯 실습 3: 나만의 다기능 프로그램 만들기
미션 선택하기
다음 중 하나를 선택해서 만들어보세요:
옵션 1: 가족 연락처 프로그램
기능:
1. 가족 연락처 추가하기 (이름, 전화번호)
2. 연락처 찾기
3. 전체 연락처 보기
기능:
1. 가족 연락처 추가하기 (이름, 전화번호)
2. 연락처 찾기
3. 전체 연락처 보기
옵션 2: 용돈 관리 프로그램
기능:
1. 용돈 받은 금액 입력하기
2. 쓴 돈 입력하기
3. 남은 돈 계산해서 보여주기
기능:
1. 용돈 받은 금액 입력하기
2. 쓴 돈 입력하기
3. 남은 돈 계산해서 보여주기
옵션 3: 취미 기록 프로그램
기능:
1. 오늘 한 취미 활동 기록하기
2. 이번 주 취미 활동 목록 보기
3. 가장 많이 한 취미 찾기
기능:
1. 오늘 한 취미 활동 기록하기
2. 이번 주 취미 활동 목록 보기
3. 가장 많이 한 취미 찾기
실습 진행 방법
1단계: 가장 중요한 기능 하나만 요청 2단계: 두 번째 기능 추가 요청 3단계: 세 번째 기능 추가 요청 4단계: 최종 테스트
🌟 학습 성과 체크
오늘 배운 내용
✅ 다기능 프로그램 구조 이해
✅ 메뉴 선택 기능 만들기
✅ 체계적인 AI 요청 방법
✅ 단계별 프로그램 개발
✅ 다기능 프로그램 구조 이해
✅ 메뉴 선택 기능 만들기
✅ 체계적인 AI 요청 방법
✅ 단계별 프로그램 개발
기본 프로그램 vs 다기능 프로그램
기본 프로그램:
- 하나의 기능
- 간단한 구조
- 한 번 실행하고 끝
다기능 프로그램:
- 여러 기능을 선택
- 메뉴 시스템
- 더 실용적
- 입력 검증 포함
🎉 마무리
축하합니다! 이제 여러분은 다기능 프로그램을 만들 수 있습니다! ✨
🔥 오늘의 성취
- 여러 기능을 가진 프로그램 구조 이해
- 메뉴 시스템 프로그래밍
- 단계적인 프로그램 개발 방법
- 실용적인 프로그램 개발 경험
💡 다음 시간 예고
다음 Chapter 4-3에서는 더욱 고급 기능이 있는 프로그램 만들기를 배워보겠습니다!
🎯 오늘의 과제
다기능 프로그램 만들기:
위의 실습 3에서 선택한 프로젝트를 완성해보세요!
- 최소 3개 이상의 기능
- 메뉴 선택 시스템
- 입력 검증 기능
- 친절한 결과 출력
여러분은 이제 실제로 사용할 수 있는 유용한 프로그램을 만들 수 있는 개발자입니다! 🚀