더북(TheBook)

먼저 함수를 전혀 사용하지 않고 코드를 작성하겠습니다.

코드 6-1 sequential.py

import openpyxl
import math
# 학년 전체 학생의 평균: 50점

raw_data = {}
wb = openpyxl.load_workbook('class_2_3.xlsx')
ws = wb.active
g = ws.rows
for name, score in g:
    raw_data[name.value] = score.value

scores = list(raw_data.values())

s = 0

for score in scores:
    s += score

avrg = round(s/len(scores), 1)

s= 0

for score in scores:
    s += (score - avrg) ** 2

variance = round(s/len(scores), 1)

std_dev = round(math.sqrt(variance),1)

print(
    "평균: {0}, 분산: {1}, 표준편차: {2}".format(
    avrg, variance, std_dev))

if avrg <50 and std_dev >20:
    print("성적이 너무 저조하고 학생들의 실력 차이가 너무 크다.")
elif avrg > 50 and std_dev >20:
    print("성적은 평균 이상이지만 학생들이 실력 차이가 크다. 주의 요망!")
elif avrg < 50 and std_dev <20:
    print("학생들의 실력 차이는 크지 않지만 성적이 너무 저조하다. 주의 요망!")
elif avrg > 50 and std_dev <20:
    print("성적도 평균 이상이고 학생들의 실력 차이도 크지 않다.")

실행결과 평균: 51.5, 분산: 1240.2, 표준편차: 35.2
성적은 평균 이상이지만 학생들의 실력 차이가 크다. 주의 요망!

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.