下表は,あるクラス10人が受験した英語と理科のテスト結果(得点)を示している。
得点の標準偏差を求める関数(受験者の得点が代入されたリストを引数とし,標準偏差を返す関数)を定義しなさい。 また,その定義した関数を用いて,英語と理科の標準偏差を出力するプログラムを作成しなさい。 ただし,標準偏差は小数第2位を四捨五入して,小数第1位まで出力すること。
# coding: shift_jis import math n = 10 eigo = [70, 75, 82, 35, 61, 60, 68, 73, 76, 65] rika = [35, 65, 76, 42, 52, 40, 50, 64, 88, 69] def stdevp(ls): ave = sum(ls) / n s = 0 i = 0 while i < n: s += (ls[i] - ave) ** 2 i = i + 1 s = math.sqrt(s / n) s = int(s * 10 + 0.5) / 10 #小数第2位を四捨五入 return s print("英語の標準偏差:", stdevp(eigo)) print("理科の標準偏差:", stdevp(rika))
H:\prg1\09> python stdevp.py↵
英語の標準偏差: 12.4
理科の標準偏差: 16.2
下表は,あるクラスの英語と理科のテスト結果(得点,欠席者を含む)を示している。
得点の標準偏差を求める関数(受験者の得点が代入されたリスト(欠席者を含む)を引数とし,標準偏差を返す関数)を定義しなさい。 また,その定義した関数を用いて,英語と理科の標準偏差を出力するプログラムを作成しなさい。 ただし,標準偏差は小数第2位を四捨五入して,小数第1位まで出力すること。
英語の標準偏差: 6.9 理科の標準偏差: 16.2