프로그램
[파이썬] 문제 : 성적의 Report 출력
오디세이99
2023. 4. 10. 02:42
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
반응형