Coding for KidsCoding for Kids
창의적인 레벨도전 과제교사 가이드
기능 투표
고급 파이썬 개발 과정
챕터
>
레벨

수학 모듈
통계 모듈

목표

사무실로 내려가 statistics 모듈을 사용하여 농장의 메트릭에 대한 통계 데이터를 작성하세요.

다락방 계단 아래에 사무실이 있으며, 그 안에는 농장과 관련된 중요한 데이터가 저장된 파일들이 있습니다. 이 데이터를 처리하여 농장의 미래 성장을 예측하기 위해 기록하는 것이 좋을 것입니다. 이를 위해 우리는 statistics 모듈을 사용할 것입니다. 모듈은 함수, 클래스 등과 같은 도구들을 가져올 수 있게 하여 파이썬의 기능을 확장할 수 있게 해줍니다. 모듈을 설정하기 위해서는 모듈 이름 앞에 import를 작성하면 됩니다. 그렇습니다, 지금까지 플레이어를 제어하기 위해 모듈을 사용해온 것입니다!

import statistics

이 모듈은 통계 계산을 위한 여러 함수를 추가합니다. 아래는 사무실의 통계 데이터를 처리하기 위해 사용할 몇 가지 함수들입니다:

  • statistics.mean() : 데이터 세트의 평균을 계산합니다.
  • statistics.median(): 데이터 세트의 중앙값을 계산합니다.
  • statistics.median_low(): 데이터 세트의 낮은 중앙값을 계산합니다.
  • statistics.median_high(): 데이터 세트의 높은 중앙값을 계산합니다.
  • statistics.mode(): 데이터 샘플에서 가장 많이 나타나는 값을 계산하여 중심 경향성을 산출합니다.
  • statistics.variance(): 데이터 세트의 값들의 분산을 계산합니다. 높은 숫자는 값들이 넓게 퍼져 있음을, 낮은 숫자는 값들이 가까이 모여 있음을 의미합니다.

먼저 서류 캐비닛 앞의 빛나는 X 표식으로 걸어가서 read() 함수를 사용해 파일을 확인하고 데이터를 읽으세요. 현장에는 읽어야 할 세(3)개의 보고서가 있으며, 각 보고서의 데이터를 저장할 세(3)개의 리스트를 생성하세요: weather_report, export_report 그리고 harvest_report. 각 보고서의 데이터에는 1년의 첫 6개월에 해당하는 여섯(6) 개의 값이 담겨 있습니다. 데이터를 읽을 때 각 리스트에 이 여섯(6)개의 값을 기록하고 저장하세요.

리스트에 데이터를 기록하고 저장한 후, 파란 카펫 위의 어두운 X 표식으로 걸어가세요. 그리고 mean, median, low, highvariance라는 이름의 다섯 개 변수를 생성하세요. 이 변수들은 앞서 설명한 통계 함수의 결과값을 저장할 것입니다. 우리가 할 일은 통계를 계산할 보고서의 리스트를 변수에 추가하는 것입니다. 그러면 제공된 데이터에 대한 통계가 생성됩니다.

mean = statistics.mean( report list ) median = statistics.median( report list ) low = statistics.median_low( report list ) high = statistics.median_high( report list ) variance = statistics.variance( report list )

이 통계 데이터를 사용하여 write() 함수를 통해 메모에 데이터를 기록할 것입니다. 코드 에디터에는 해당 시퀀스가 미리 작성되어 있습니다. 파란 카펫 X 표식에서는 export_report의 변수들을 요약하여 기록하고, 초록 카펫 X 표식에서는 harvest_report의 변수들을, 빨간 카펫 X 표식에서는 weather_report의 변수들을 요약하여 기록하세요. 각 보고서의 변수들을 먼저 채워 넣어야 올바른 통계 데이터가 기록됩니다.

모든 통계 데이터가 기록되면, 금색 X 표식으로 걸어가서 group_report라는 새 리스트를 생성하세요. 이 리스트에는 순서대로 export_reportharvest_report를 추가할 것입니다. 이렇게 하면 통계 함수에서 사용할 수 없는 중첩 리스트가 생성됩니다. 이를 해결하기 위해 리스트 내포(List comprehension)를 사용하여 중첩 리스트를 평탄화하세요. 예를 들어:

group_report= [item for sublist in group_report for item in sublist]

추가로 두 개의 변수를 설정하세요: variancemode. 각각에 해당하는 통계 함수를 사용합니다. group_report 리스트를 분산 계산 함수에 추가하고, weather_report 리스트를 최빈값 계산 함수에 추가하세요. 예를 들어:

variance = statistics.variance( group_report )

mode = statistics.mode( weather_report )

코드 에디터에 설정된 write() 함수를 실행하여 이 변수들의 값을 기록함으로써 레벨을 완료하세요.

코드북