#56

度数分布表とASCIIヒストグラム

データを階級に区切って度数を数え、#の棒で分布を可視化します。

解説

たくさんの数値はそのままでは傾向が見えません。そこで値をいくつかの区間(階級)に分け、それぞれに入るデータの個数(度数)を数えたものが度数分布表です。 この度数を # の本数で表すと、簡単なヒストグラム(棒グラフ)になり、データがどのあたりに集中しているかが一目で分かります。 各階級について 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ヒストグラム)を作ろう。

コードはあなたの端末の中だけで動きます(サーバーには送られません)。進み具合もこのブラウザに保存されます。

もっと本格的に使うなら

Windows版 InsightPy なら、書いたコードを保存して業務の自動化まで進められます。学習センターはずっと無料です。