Skip to Content
💻 코리아IT아카데미 신촌 - 프로그래밍 학습 자료
실전 프로젝트레벨 2학점 계산기

📊 학점 계산기

📋 프로젝트 개요

입력받은 점수를 바탕으로 학점을 계산하고, 장학금 대상 여부를 판단하는 실용적인 프로그램을 만들어보세요. 조건문을 활용하여 점수 구간별 판단 로직을 구현해봅시다!

🎯 학습 목표

  • 다중 조건문(if-elif-else)을 활용한 구간별 판단
  • 논리 연산자를 이용한 복합 조건 처리
  • 실생활 문제를 프로그래밍으로 해결하는 경험

🚀 기본 기능

핵심 요구사항

점수를 입력받아 학점을 계산하는 프로그램

  1. 점수 입력 및 검증

    • 0~100점 범위의 점수 입력받기
    • 범위를 벗어난 점수에 대한 오류 메시지
  2. 학점 계산 기준

    • A: 90점 이상
    • B: 80점 이상 90점 미만
    • C: 70점 이상 80점 미만
    • D: 60점 이상 70점 미만
    • F: 60점 미만
  3. 결과 출력

    • 입력받은 점수와 해당하는 학점 표시
    • 명확하고 보기 좋은 출력 형태

🎨 추가 기능 1: 장학금 판정 시스템

요구사항

기본 학점 계산에 장학금 대상 여부를 추가로 판정합니다.

  • 성적우수 장학금: A학점 (90점 이상)
  • 성적향상 장학금: B학점 이상 (80점 이상)
  • 격려 장학금: C학점 이상 (70점 이상)
  • 해당없음: D학점 이하 (70점 미만)

출력 예시

점수: 85점 학점: B 장학금: 성적향상 장학금 대상입니다!

💡 추가 기능 2: 세부 학점 시스템

요구사항

기본 학점을 더 세분화하여 +, 0, - 구분을 추가합니다.

  • A학점 세분화: A+ (97점 이상), A0 (93점 이상), A- (90점 이상)
  • B학점 세분화: B+ (87점 이상), B0 (83점 이상), B- (80점 이상)
  • C, D학점도 동일한 방식으로 세분화
  • 다음 등급까지 필요 점수: 더 높은 등급을 위해 필요한 점수 계산

출력 예시

점수: 85점 기본 학점: B 세부 학점: B0 다음 등급(B+)까지: 2점 부족

💡 구현 힌트

필요한 파이썬 기능들

1. 기본 학점 계산 구조

# 점수 입력 및 검증 score = int(input("점수를 입력하세요 (0-100): ")) if score < 0 or score > 100: print("잘못된 점수입니다. 0-100 사이의 값을 입력하세요.") else: # 학점 계산 if score >= 90: grade = "A" elif score >= 80: grade = "B" elif score >= 70: grade = "C" elif score >= 60: grade = "D" else: grade = "F" print(f"점수: {score}점, 학점: {grade}")

2. 장학금 판정 로직

# 학점 계산 후 장학금 판정 if grade == "A": scholarship = "성적우수 장학금" elif grade == "B": scholarship = "성적향상 장학금" elif grade == "C": scholarship = "격려 장학금" else: scholarship = "해당없음" if scholarship != "해당없음": print(f"장학금: {scholarship} 대상입니다!") else: print("장학금: 해당하는 장학금이 없습니다.")

3. 세부 학점 계산

# A학점 세분화 예시 if score >= 97: detailed_grade = "A+" next_grade = "최고 등급입니다!" elif score >= 93: detailed_grade = "A0" next_grade = f"A+까지 {97 - score}점 부족" elif score >= 90: detailed_grade = "A-" next_grade = f"A0까지 {93 - score}점 부족" # B, C, D학점도 동일한 방식으로...

조건문 활용 포인트

1. 구간별 조건 처리

# 점수 구간을 높은 점수부터 체크 # 첫 번째로 만족하는 조건에서 멈춤 if score >= 90: # 90점 이상 = A grade = "A" elif score >= 80: # 80점 이상 90점 미만 = B grade = "B" elif score >= 70: # 70점 이상 80점 미만 = C grade = "C" # ... 계속

2. 복합 조건 활용

# 범위 검증 if score < 0 or score > 100: print("잘못된 점수") # 여러 조건 동시 확인 if grade == "A" and score >= 95: special_recognition = "최우수상"

3. 중첩 조건문

# 기본 학점 판정 후 세부 등급 판정 if score >= 90: grade = "A" if score >= 97: detailed_grade = "A+" elif score >= 93: detailed_grade = "A0" else: detailed_grade = "A-"

프로그램 설계 팁

1. 명확한 출력 형태

print("="*40) print("📊 학점 계산 결과") print("="*40) print(f"입력 점수: {score}점") print(f"학점: {grade}") print(f"장학금: {scholarship}") print("="*40)

2. 오류 처리

# 숫자가 아닌 입력 처리 try: score = int(input("점수 입력: ")) except ValueError: print("숫자를 입력해주세요!") # 하지만 level-2에서는 단순하게 처리 score = int(input("점수 입력: ")) if score < 0 or score > 100: print("0-100 사이의 점수를 입력하세요!")

3. 단계적 확장

# 1단계: 기본 학점만 # 2단계: 기본 학점 + 장학금 # 3단계: 기본 학점 + 장학금 + 세부 등급

실제 활용 예시

1. 여러 과목 성적 관리

# 3과목 점수 입력받아 각각 처리 math_score = int(input("수학 점수: ")) english_score = int(input("영어 점수: ")) science_score = int(input("과학 점수: ")) # 각 과목별로 동일한 학점 계산 로직 적용 # 수학 학점 계산 if math_score >= 90: math_grade = "A" elif math_score >= 80: math_grade = "B" # ... 계속 # 영어, 과학도 동일하게... # 평균 계산 average = (math_score + english_score + science_score) / 3 print(f"평균: {average:.1f}점")

2. 성적 향상도 체크

# 이전 성적과 비교 previous_score = int(input("이전 학기 점수: ")) current_score = int(input("이번 학기 점수: ")) improvement = current_score - previous_score if improvement > 0: print(f"성적이 {improvement}점 향상되었습니다!") elif improvement < 0: print(f"성적이 {abs(improvement)}점 하락했습니다.") else: print("성적이 동일합니다.")

도전 과제

  1. GPA 계산: A=4.0, B=3.0 등으로 GPA 점수 계산
  2. 학기별 관리: 여러 학기 성적을 비교 분석
  3. 목표 설정: 원하는 학점을 위해 필요한 점수 계산
  4. 통계 정보: 여러 과목의 최고점, 최저점, 평균 등

📝 완성 체크리스트

📊 학점 계산기 체크리스트

🎉 완성 후 해볼 것

완성된 학점 계산기로 실제 성적을 관리해보세요! 목표 학점을 설정하고 현재 상태를 확인하며, 어떤 성적을 받아야 원하는 학점을 달성할 수 있는지 계산해보세요!

Last updated on