퀴즈는 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 )
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.