본문 바로가기
프로그램

[파이썬] 문제 : 성적의 Report 출력

by 오디세이99 2023. 4. 10.
728x90
반응형

학점(A,B..)의 규정이 문제에 없기 때문에 아래 코드는 다릅니다.

수정하면 됩니다.

def cal_Score(sc):              # score를 구분하는 함수. (문제에 정확한 정의가 없음)
    rtn = ''
    if sc >= 90:
        rtn = 'A'
    elif sc >= 80 and sc < 90:
        rtn = 'B'
    elif sc >= 70 and sc < 80:
        rtn = 'C'
    elif sc >= 60 and sc < 70:
        rtn = 'D'
    elif sc >= 50 and sc < 60:
        rtn = 'E'
    elif sc < 60:
        rtn = 'F'
    return rtn


Score_Kor = [60, 70]
Ave_Kor = sum(Score_Kor)/len(Score_Kor)
Result_Kor = cal_Score(Ave_Kor)
Score_Eng = [50, 60]
Ave_Eng = sum(Score_Eng)/len(Score_Eng)
Result_Eng = cal_Score(Ave_Eng)
Score_Math = [80, 90]
Ave_Math = sum(Score_Math)/len(Score_Math)
Result_Math = cal_Score(Ave_Math)

width = 36
print('='*width)
print("               의 2023년 1학기 학점")
print('-'*width)
print(f"교과목    중간   기말   평균   학점")         # 출력 제목
print('-'*width)                          # '-'를 66개 출력
print("국어       %d     %d     %d     %s"%(Score_Kor[0], Score_Kor[1], Ave_Kor, Result_Kor))
print("영어       %d     %d     %d     %s"%(Score_Eng[0], Score_Eng[1], Ave_Eng, Result_Eng))
print("수학       %d     %d     %d     %s"%(Score_Math[0], Score_Math[1], Ave_Math, Result_Math))
print('-'*width)

 

for문 사용

def cal_Score(sc):              # score를 구분하는 함수. (문제에 정확한 정의가 없음)
    rtn = ''
    if sc >= 90:
        rtn = 'A'
    elif sc >= 80 and sc < 90:
        rtn = 'B'
    elif sc >= 70 and sc < 80:
        rtn = 'C'
    elif sc >= 60 and sc < 70:
        rtn = 'D'
    elif sc >= 50 and sc < 60:
        rtn = 'E'
    elif sc < 60:
        rtn = 'F'
    return rtn

def mySum(a_lst):
    rtn_sum = 0
    for v in a_lst:          # for문 사용
        rtn_sum += v
        
    return rtn_sum

Score_Kor = [60, 70]
Ave_Kor = mySum(Score_Kor)/len(Score_Kor)
Result_Kor = cal_Score(Ave_Kor)
Score_Eng = [50, 60]
Ave_Eng = mySum(Score_Eng)/len(Score_Eng)
Result_Eng = cal_Score(Ave_Eng)
Score_Math = [80, 90]
Ave_Math = mySum(Score_Math)/len(Score_Math)
Result_Math = cal_Score(Ave_Math)

width = 36
print('='*width)
print("               의 2023년 1학기 학점")
print('-'*width)
print(f"교과목    중간   기말   평균   학점")         # 출력 제목
print('-'*width)                          # '-'를 66개 출력
print("국어       %d     %d     %d     %s"%(Score_Kor[0], Score_Kor[1], Ave_Kor, Result_Kor))
print("영어       %d     %d     %d     %s"%(Score_Eng[0], Score_Eng[1], Ave_Eng, Result_Eng))
print("수학       %d     %d     %d     %s"%(Score_Math[0], Score_Math[1], Ave_Math, Result_Math))
print('-'*width)
728x90
반응형

댓글