32 — 성적부: 이름마다 점수, 그리고 평균
성적부는 이름마다 점수 하나입니다. 그런데 평균을 내려면 점수만 따로 모아야 합니다 — 표에는 순서도 합계도 없기 때문입니다. 그래서 표를 훑으면서 점수를 목록에 옮겨 담습니다.
단계
표에 이름과 점수를 담습니다:
실행해 보기 →성적부는 빈 표 성적부에 민수를 88로 넣어 성적부에 지안을 92로 넣어 성적부의 민수 말해줘88이 나옵니다.훑으면서 점수만 목록에 모읍니다. 목록이 되어야 합과 개수를 물을 수 있습니다:
실행해 보기 →성적부는 빈 표 성적부에 민수를 88로 넣어 성적부에 지안을 92로 넣어 점수들은 빈 목록 성적부의 이름마다 반복해 점수는 성적부의 이름 점수들에 점수 넣어 끝 점수들 개수 말해줘 점수들 합 말해줘2와180이 나옵니다.평균은 합을 인원으로 나눈 것입니다. 나눌 수는 먼저 이름에 담습니다:
실행해 보기 →점수들은 목록 88, 92 인원은 점수들 개수 평균은 점수들 합 평균을 인원으로 나눠 평균 말해줘90.0이 나옵니다. 나누는 수는 이름이나 숫자여야 합니다 —점수들 개수로 나눠처럼 바로 쓸 수는 없어서인원에 먼저 담았습니다.최고점은 목록에게 바로 물어봅니다:
실행해 보기 →점수들은 목록 88, 92, 75 점수들 중 가장 큰 것 말해줘92가 나옵니다.전체입니다:
실행해 보기 →성적부는 빈 표 성적부에 민수를 88로 넣어 성적부에 지안을 92로 넣어 성적부에 하늘을 75로 넣어 점수들은 빈 목록 성적부의 이름마다 반복해 점수는 성적부의 이름 점수들에 점수 넣어 이름 말해줘 점수 말해줘 끝 인원은 점수들 개수 평균은 점수들 합 평균을 인원으로 나눠 평균 말해줘 점수들 중 가장 큰 것 말해줘
직접 해보기
평균보다 높은 사람만 뽑아 보세요 — 표를 한 번 더 훑으면서
만약에 점수가 평균보다 크면 이름을 보여 주면 됩니다. 평균을 먼저 다
구한 다음 두 번째로 훑어야 합니다. 첫 훑기 중에는 평균이 아직 없습니다.
배운 것
- 표는 이름으로 찾을 때, 목록은 합·개수·최댓값을 물을 때 씁니다.
- 표를 훑으면서 값을 목록에 옮기면 둘의 장점을 다 씁니다.
- 평균은
합을 인원으로 나눈 것이고, 나누는 수는 이름이나 숫자여야 합니다. - 평균이 필요한 비교는 평균을 다 구한 다음에 합니다.