더북(TheBook)

퀴즈는 82점이지만 전체에서 20%만 반영하므로 전체 점수에서 16.4다. 중간시험은 90점이지만 비중이 35%이므로 전체 점수에서 31.5, 마찬가지 방법으로 기말시험은 34.2다.

세 개를 합친 결과는 합계이지만 가중치가 곱해지면서 합이 동시에 평균이기도 하다. 세 개 가중점수의 합은 82×20% + 90×35% + 76×45% = 16.4 + 31.5 + 34.2 = 82.1이다.

82.1은 세 개의 퀴즈, 중간시험, 기말시험 점수를 대표하는 대푯값인 평균이다.

# 평가 점수와 평가 비중을 scores와 weight 리스트에 저장한다
scores = [ 82, 90, 76 ]
weight = [ 0.2, 0.35, 0.45 ]

# scores와 weight 리스트를 zip 함수로 묶어 for 루프로 반복한다
# wgt_avg는 합계를 저장할 변수
wgt_avg = 0.0

# 반복하는 동안 변수 s와 w에 저장하고 곱셈의 결과를 합한다
for s, w in zip( scores, weight ):
    wgt_avg = wgt_avg + s*w

# 결과를 출력한다
print ( wgt_avg )

참고

위의 for 루프는 인라인 for 루프로 바꿔 간략하게 표현할 수 있다.

wgt_avg = sum( s*w for s, w in zip( scores, weight ) )
# 결과를 출력한다
print ( wgt_avg )
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.