解説
たくさんの数値はそのままでは傾向が見えません。そこで値をいくつかの区間(階級)に分け、それぞれに入るデータの個数(度数)を数えたものが度数分布表です。
この度数を # の本数で表すと、簡単なヒストグラム(棒グラフ)になり、データがどのあたりに集中しているかが一目で分かります。
各階級について low <= s <= high を満たす個数を数え、その数だけ # を並べて出力します。
書き方
・bins = [(下限, 上限), ...] — 階級をタプルのリストで用意。
・for low, high in bins: でタプルを分解して反復。
・sum(1 for s in scores if low <= s <= high) — 階級に入る個数(度数)を数える。
・"#" * count — 度数の数だけ # を並べてバーにする。
・f"{low:3d}-{high:3d}" — 数値を3桁幅でそろえて整形。len() で合計件数。書いて動かす
この回の課題
点数を5つの階級に分け、各階級の度数を数えて # の本数で表す度数分布表(ASCIIヒストグラム)を作ろう。
コードはあなたの端末の中だけで動きます(サーバーには送られません)。進み具合もこのブラウザに保存されます。
自分のPCでも続けてみませんか
Windows版 InsightPy は Python を同梱しているので、環境構築なしで同じコードを書いて実行できます。 書いたコードを保存しておけるほか、ステップ実行で変数の変化を1行ずつ確かめられます。 個人の学習や私的な目的でのご利用は、31日目以降も無料です(スクリプトの保存は10本まで)。 このブラウザ版の学習センターも、引き続き無料でお使いいただけます。