WeniVooks

검색

Cursor 톺아보기 with Python

여러 기능이 있는 프로그램 만들기

여러 기능이 있는 프로그램 만들기

🎯 이번 시간에 배울 것
  • 여러 기능이 있는 프로그램 만들기
  • 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 다기능 프로그램

기본 프로그램:

  • 하나의 기능
  • 간단한 구조
  • 한 번 실행하고 끝

다기능 프로그램:

  • 여러 기능을 선택
  • 메뉴 시스템
  • 더 실용적
  • 입력 검증 포함
🎉 마무리

축하합니다! 이제 여러분은 다기능 프로그램을 만들 수 있습니다! ✨

🔥 오늘의 성취
  1. 여러 기능을 가진 프로그램 구조 이해
  2. 메뉴 시스템 프로그래밍
  3. 단계적인 프로그램 개발 방법
  4. 실용적인 프로그램 개발 경험
💡 다음 시간 예고

다음 Chapter 4-3에서는 더욱 고급 기능이 있는 프로그램 만들기를 배워보겠습니다!

🎯 오늘의 과제

다기능 프로그램 만들기:

위의 실습 3에서 선택한 프로젝트를 완성해보세요!

  • 최소 3개 이상의 기능
  • 메뉴 선택 시스템
  • 입력 검증 기능
  • 친절한 결과 출력

여러분은 이제 실제로 사용할 수 있는 유용한 프로그램을 만들 수 있는 개발자입니다! 🚀

{"packages":["numpy","pandas","matplotlib","lxml"]}
4.1 Ctrl+I 기능 마스터 - 한 번에 완전한 프로그램 생성4.3 실습 - 학생 점수 관리 프로그램 만들기