직대딩 블로그

[Python] 학점 부여 프로그램 본문

프로그래밍/Python

[Python] 학점 부여 프로그램

Jae Yeon 2023. 3. 31. 09:30

조건
점수가 95이상이면 ‘A+’

점수가 95미만 90이상이면 ‘A’

점수가 90미만 85이상이면 ‘B+’

점수가 85미만 80이상이면 ‘B’

점수가 80미만 70이상이면 ‘C+’

점수가 70미만 60이상이면 ‘C’

점수가 60미만 50이상이면 ‘D+’

점수가 50미만이면 ‘F'

'e'가 입력되면 루프 종료

종료 후 과목수와 평균점수 출력

nTotalScore = 0
nSubjectCount = 0

while True:
    score = input("점수를 입력하세요 (종료하려면 e를 입력): ")

    # 입력값이 'e'이면 루프 종료
    if score == 'e':
        break

    # 유효한 입력값인지 확인
    score = int(score)
    if score < 0 or score > 100:
        print("0에서 100사이의 점수를 입력해주세요.")
        continue

    # 입력될 때마다 총점과 과목수 업데이트
    nTotalScore += score
    nSubjectCount += 1

    # 학점출력
    if score >= 95:
        print("학점: A+")
    elif score >= 90:
        print("학점: A")
    elif score >= 85:
        print("학점: B+")
    elif score >= 80:
        print("학점: B")
    elif score >= 70:
        print("학점: C+")
    elif score >= 60:
        print("학점: C")
    elif score >= 50:
        print("학점: D+")
    else:
        print("학점: F")

# 과목수 & 평균점수 출력
if nSubjectCount > 0:
    fAverageScore = nTotalScore / nSubjectCount
    print(f"입력받은 과목수: {nSubjectCount}")
    print(f"평균점수: {fAverageScore:.2f}")
else:
    print("입력받은 과목이 없습니다.")

1. 총점과 과목수를 0으로 초기화합니다.

2. while문을 이용하여 점수를 계속 입력받습니다.

3. 입력된 값이 'e'이면 while문을 빠져나와 프로그램을 종료합니다.

4. 입력된 값이 유효한 범위인지 확인합니다. 만약, 0에서 100 사이가 아니라면, "0에서 100사이의 점수를 입력해주세요."라는 메시지를 출력하고, continue문을 이용하여 while문의 처음으로 돌아갑니다.

5. 유효한 범위의 점수가 입력되면, 총점과 과목수를 업데이트합니다.

6. 입력된 점수에 대해 해당하는 학점을 출력합니다.

7. 입력이 종료되면, 입력된 과목수와 평균 점수를 출력합니다.

 

실행 결과

Comments